2017-03-07 6 views
2

C#ASP.NET MVCでAngular JS - Materialを使用してオートコンプリートウィジェットを作成しています。角型マテリアルオートコンプリートが読み込まれないオプションMVC

この例では、状態のオートコンプリートを取得しようとしています。私はこのtutorialで始まりましたが、オプションをデータベースから取得する必要があります(この時点では、コントローラ内のオプションの静的リストのみです)。

私の現在のコード(関連ファイル)にはlinkがあります。

私はコードを実行すると、コントローラからのオブジェクトのリストが正しく引き抜かれていることがわかります。コントローラのメソッドに表示されているように、IdとNameを持つ4つのオブジェクトの配列です。ただし、オプションは入力フォームに読み込まれません。

テキストボックスをクリックすると「No states matching "" were found.」と表示されます。「a」と入力すると、「オプション」が表示されます。No states matching "a" were found.これは実際には一致する結果。

私の質問:コントローラから引き離してオプションを読み込むようにコードを変更するにはどうすればよいですか?

ありがとうございます!ここで重要なのJavaScript/AngularJSコードです

c# angulajs autocomplete angular-material

//TODO: Replace data.json with /Home/GetStates 
$http.get('data.json') 
    .then(function(response) { 
    self.states = response.data.map(function(state) { 
     return { 
     value: state.Name.toLowerCase(), 
     display: state.Name 
     }; 
    }); 
    }); 

それはあなたを呼び出すためにのためにあなたが'/Home/GetStates''data.json'を交換する必要があります

+0

:POST

  • に変更

    1. は、設定した変数=結果、その後

    結果を返さここでは、コードです私の答えは、あなたの質問に答えましたか?もう助けが必要ですか? –

  • 答えて

    0

    が、私は問題を解決するためにやったことだ:

    function querySearch(query) { 
        if (query == undefined) { 
        console.log("invalid"); 
        return; 
        } 
        $http({ 
        method: 'POST', 
        url: self.URL_Get + query, 
        searchTerm: query 
        }).then(function(response) { 
        self.states = response.data; 
        }); 
        return self.states; 
    } 
    
    +0

    あなたの答えを「受け入れた」とマークすることを忘れないでください。 –

    0

    はここでの結果のスクリーンショットですバックエンドMVC JSON RESTful APIサービス。また、機能querySearch(query)createFilterFor(query)をそのまま残して、$http.get()サービスが状態をロードするので、self.states=loadStates()self.states=nullに変更しました。

    私はあなたのC#MVCコントローラコードをテストしました。

    ここには、作業中のPlunker、http://plnkr.co/edit/tDC6KcO1O8VSGwVghBo7?p=previewがあります。

    これが役に立ちます。あなたが何か他のものが必要な場合は教えてください。ここで

    関連する問題