2016-11-08 6 views
-1

ASP.NET MVC5アプリケーションで@ Html.DropdownListforの値を選択すると、@ Html.Textboxforにデータを取り込む方法を教えてください。これは、スクリプトを使用してテキストボックスにデータを入力するより良い方法です。可能であれば、私に例を挙げてください。@ Html.DropdownListforから値を選択すると@ Html.Textboxforを埋め込む方法

+0

@ user3608792誰かがドロップダウンリストの値を変更するたびにサーバーにヒットするようにしますか? –

+0

私はドロップダウンリストで値を選択するとDBを介してテキストボックスに値を取得しています –

答えて

0

これは私がやる方法です。 JavaScriptを使用します。すべてのajax呼び出しが単一のエントリポイントから来るスクリプトを作成する必要があります。再利用、保守、デバッグが容易です。このコードはちょうど概要であり、あなたはそれをきれいにする必要があることを覚えておいてください。提案どおりにサーバーにヒットせず、ドロップダウンリストの値が変更されるたびにビューモデルを更新しないでください。それはばかげている。私はあなたにこの状況への私の完全なアプローチを与えます。 XMLHttpRequestのビューモデルをプルダウンして、ドロップダウンリストが変更されるたびに現在のデータを好きな時にフィルタリングしてください。

ステップ1:ビューモデルのためのあなたのコントローラに要求を行い

//quick example 
var xhr = new XMLHttpRequest(); 
xhr.open('GET', 'Controller/Methodname'); 
xhr.send(null); 

STEP2:ViewModelにを取得して、必要なオブジェクトや変数またはW/Eに保管

//handle the call 
    xhr.onreadystatechange = function() { 
     var DONE = 4; // readyState 4 means the request is done. 
     var OK = 200; // status 200 is a successful return. 
     if (xhr.readyState === DONE) { 
     if (xhr.status === OK) 
      ...xhr.responseText // 'This is the returned text. so store it somewhere' 
     } else { 
      console.log('Error: ' + xhr.status); // An error occurred during the request. 
     } 
     } 
    }; 

手順3:ドロップダウンリストのonChangeイベントを追加します。

onDropdownChange() { 
     // based on what is selected, filter you data and populate the textbox 
     document.getElementById("YourTextboxID").value = your value;  
    } 
+0

上記の例ではなくJavaScriptを書き、MVC5で実行できますか?可能であれば私の解決策を提案する –

+0

@addadaSatish MVC5で何を実行するのですか? MVCはデザインパターンです。それが意味することを説明してください。 –

+0

申し訳ありませんが、これを誤って削除したと思います。 –

-1

このようなものを試してください。

function ondropdownchange(){ 
    $.get("yourmethodurl", function(data, status){ 
     $('#yourtextbox').val(data); 
    }); 
} 
+0

あなたは彼の質問に全く答えませんでした。「スクリプトを使ってテキストボックスにデータを入力する方がいいですか、可能ならば私に例を挙げてください。 –

関連する問題