2012-09-15 249 views
3

如何在用户选择具有@Html.DropDownListFor的项目时执行某些逻辑?ASP.NET MVC 3 DropDownListFor

根据用户点击的内容,我想更新模型并将其重新传递给新编辑的数据。

下拉列表中的代码如下:

@Html.DropDownListFor(m => m.Categories, Model.Categories, "Select a Category") 

回答

1

简单的方法是使用jQuery,例如:

$(document).ready(function() { 
    $("#Categories").change(function() { 
     var strSelected = ""; 
     $("#Categories option:selected").each(function() { 
      strSelected += $(this)[0].value; 
     }); 
     var url = "/Home/MyAction/" + strSelected; // or send with json 

     $.post(url, function(data) { 
      // do something if necessary 
     }); 
    }); 
}); 

1

您可以使用JavaScript。

看看DropDownListFor的重载 - 你可以传入new { onchange="yourJavascriptMethod" }或给它一个id/name并在javascript中注册事件处理程序。

+0

你能模拟一些代码并告诉我如何做到这一点吗?我是一名研究生,也是网络开发的新手。 – Subby

+0

您可以添加参数'new {onchange =“yourJavascriptMethod”}“,然后创建将数据发布到服务器的javascript函数。 – webdeveloper

4

使用下拉列表

@Html.DropDownList("ddlCountry", ViewBag.Country as SelectList, "Select...", new { onchange = "FetchStates();" }) 

下面的链接级联下拉列表的onchange事件显示示例这 Cascading Dropdown

+1

好喜欢,淘汰赛js是使用完整的...!好的 – AppsDev

相关问题