MVC:绑定下拉列表到控制器并获取控制器中的选定索引

时间:2012-12-14 15:55:30

标签: asp.net-mvc-3 drop-down-menu model controller

我有一个MVC#下拉列表,其中包含模型中定义的值。

@Html.DropDownListFor(model => model.myModel, new SelectList(Model.List, "Value", "Text"))

我希望它像按钮一样动作,即在选择时,在控制器中执行动作并返回到同一视图。我为它创建了一个控制器方法,如

[HttpPost]
public ActionResult Index(int? selectedIndex)
{

}

我想知道如何从视图中获取所选索引。即,如何将特定的下拉列表绑定到控制器。

1 个答案:

答案 0 :(得分:0)

@Html.DropDownListFor呈现一个html input标记,当选择更改时,该标记不会发布到服务器。

您必须使用一些javascript / jQuery来捕获下拉列表的更改事件,并将值发布到服务器,如下所示:

$(document).ready(function() {
    $("#myModel").on('change', function(e) {
        $.post('@Url.Action("Index")', {id: $(this).val()}, 
               function(data) {
                  // here data contains the response from your action index
               });
    });
});