ASP.Net MVC3Webアプリケーションを開発しています。私のRazorビューの1つには、いくつかのテキストボックスとドロップダウンリストが含まれています。ユーザーがドロップダウンリストからオプションを選択した場合、ポストバックなしでドロップダウンリストの下に表示するには、部分ビューなどが必要です。
問題は、部分ビューのJQueryの非表示と表示ほど簡単ではありません。ユーザーがドロップダウンリストからオプションを選択すると、そのオプションをコントローラーのメソッドに送信する必要があります。このオプションに基づいてロジックを作成し、一部のデータを部分ビューに返します。
私はAJAXの経験があまりありませんが、これが私の問題を解決するために使用する必要のあるテクノロジーだと感じています。
誰かが私が上で説明したものに似たものをコーディングしなければならなかったことがありますか?もしそうなら、AJAXは私が使用する必要があるものですか?
また、誰かが私が助けるために見ることができるチュートリアルやコードスニペットを知っているなら、それは大いにありがたいです。
ありがとう。
アップデート
私はライアンの答えに従いましたが、残念ながら私はまだいくつかの問題を抱えています。次のJavaScriptファイルを作成しました。これは、ビューで参照されます。
$(document).ready(function () {
$("#myDDL").change(ChangeEventOfDDL);
function ChangeEventOfDDL(){
var dropDownValue = $('#myDDL').val();
//alert(dropDownValue);
$.ajax({ type: "GET",
url: '@Url.Action("SomePartialView","testAjax")',
data: {
id: dropDownValue
},
success: function(data) {
$('#someDivToLoadContentTo').html(data);
}
});
}
});
意見
<select id="myDDL">
<option></option>
<option value="1">F1</option>
<option value="2">F2</option>
<option value="3">ST1</option>
<option value="4">ST2</option>
</select>
<div id="someDivToLoadContentTo">
</div>
私のコントローラーは次のようになります
public class testAjaxController : Controller
{
//
// GET: /testAjax/
LocumEntities context = new LocumEntities();
public ActionResult SomePartialView(int id)
{
var test = "Hello World";
return View(test);
}
}
ただし、私のメソッド「SomePartialView」はヒットしません。誰かが理由を知っていますか?
ありがとう。