Sending form with Select List

2019-08-25 08:03发布

I am using this code to post value of selected item from the view to the controller

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

}

Is there a way to send the value when the selection change in the select list (without the need to click on the button) ?

2条回答
We Are One
2楼-- · 2019-08-25 08:33

yes you can do it via JQUERY, on dropdown selection change post the form via jquery:

add id to drop down:

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

and write jquery event:

$(function(){

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

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

});
查看更多
Luminary・发光体
3楼-- · 2019-08-25 08:33

If you name the SelectList in the ViewData the same as the name of the variable in your Model, MVC will figure the rest out for itself.

So your dropdown would look like:

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

This is as opposed to naming your ViewData item 'List'.

查看更多
登录 后发表回答