使用选择列表发送表单

时间:2014-08-18 11:04:30

标签: asp.net-mvc razor

我正在使用此代码将所选项目的值从视图发布到控制器

@using (Html.BeginForm())
{
        @Html.DropDownListFor(model => model.MyVar, (SelectList)ViewData["List"])
        <button name="Button" value="Valider">Valider</button>

}

有没有办法在选择列表中选择更改时发送值(无需点击按钮)?

2 个答案:

答案 0 :(得分:2)

如果您将ViewData中的SelectList命名为与模型中变量的名称相同,则MVC将自行计算其余部分。

所以你的下拉列表看起来像是:

@Html.DropDownList(ViewData.MyVar, String.Empty)

这与命名您的ViewData项目&#39;列表&#39;。

相反

答案 1 :(得分:1)

是的,您可以通过JQUERY通过jquery在表单上的下拉选择更改中执行此操作:

添加ID以下拉:

@Html.DropDownListFor(model => model.MyVar, (SelectList)ViewData["List"], new { id="SomeId"})

并编写jquery事件:

$(function(){

    $("#SomeId").change(function(){

        $(this).closest("form").submit(); // this will post the form
    });   

});