0

さまざまなキーと値のペアを持つ選択ボックスがあります。私がやりたいことは、選択ボックスでアイテムを選択したときに、その選択したキーと値のペアを使用してフォーム (部分ビュー) を表示し、その選択した値に基づいて値を入力することです。コントローラーへのコールバックまたは部分ビューを返す何かが必要だと思いますが、これまで使用してきた典型的な MVC ワークフローを超えているため、正確に行う方法がわかりません。これを行う方法を調査するのに役立つリンクは非常に高く評価されます。

4

2 に答える 2

0

ここで受け入れられたSOの回答を参照してください。部分ビューを動的にロードします。

ブラウザでJavaScriptが無効になっている場合は、すべてのアクションへのポストバックを実行するためのトリガー(ボタンなど)が必要になります。

于 2012-09-02T02:42:53.980 に答える
0

このような HTML Select をレンダリングするビューがあると仮定します

<select id="states">
  <option value="1">MI</option>
  <option value="2">NY</option>
  <option value="3">CA</option>
</select>
<div id="partialContent"> </div>

この SELECT 要素の変更イベントをキャプチャし、サーバーに ajax 呼び出しを行って、部分的なビュー コンテンツを取得します。

<Script type="Text/javascript">
 $(function(){
   $("#states").change(function(){
     var stateId=$(this).val();
     $("#partialContent").load("@Url.Action("StateDetails","State")/"+stateId);
   });
 });

</script>

これは ajax GET 呼び出しを行い、HTML Select の選択された値としてパラメーター id と値を渡すことによりStateDetails、コントローラーのアクション メソッドから応答を取得します。State

public ActionResult StateDetails(int id)
{
  var stateDetail=myRepositary.GetStateDetail(id);
  return View(stateDetail);
}
于 2012-09-02T02:53:40.753 に答える