DropDown列表选择的索引更改事件在MVC 3 Razor中

时间:2012-10-05 11:06:50

标签: c# asp.net-mvc-3 razor

如何编写MVC 3 Razor Web应用程序选择索引更改下拉列表事件

2 个答案:

答案 0 :(得分:2)

您必须使用上一个答案中提到的ajax编写Javascript。但是,它也可以像将表单发布回相同的操作一样简单,并捕获值以再次重新显示修改后的视图。

$('#myDropdown').change(function(){
    $('#myForm').submit();
})

答案 1 :(得分:0)

$(document).ready(function () {
$("#country").change(function () {
if ($("#country").val() != "0") {
var options = {};
options.url = "/Common/GetStates";
options.type = "POST";
options.data = JSON.stringify({ country: $("#country").val() });
options.dataType = "json";
options.contentType = "application/json";
options.success = function (states) {
//alert(states[i].State);
$("#state").empty();
for (var i = 0; i < states.length; i++) {
$("#state").append("<option>" + states[i].State1 + "</option>");}}
options.error = function () { alert("Error retrieving states!"); };
$.ajax(options);}
else {$("#state").empty();
}});
});

在视图中

<select id="state">
<option value="0">select</option>
</select>

在控制器

public JsonResult GetStates(string country){
int cntry = Convert.ToInt32(country);
List<State> states = db.States.Where(i => i.Countryid == cntry).ToList();
return Json(states);}