3

当用户选择带有 的项目时,我如何执行一些逻辑@Html.DropDownListFor

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

下拉列表代码如下:

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

3 回答 3

4

使用下拉列表的 onchange 事件

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

这是 Cascading dropdownlist 的链接,显示了这个 Cascading Dropdown的示例

于 2012-09-17T04:09:44.957 回答
1

您可以使用 JavaScript。

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

于 2012-09-15T22:02:22.697 回答
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
        });
    });
});

于 2012-09-15T22:10:19.733 回答