0

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 Answers 2

2

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'.

Sign up to request clarification or add additional context in comments.

Comments

1

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
    });   

});

1 Comment

you could also directly insert the javascript/jquery code to the html-attributes: new {id="SomeId", onchange="$(this).closest(\"form\").submit()"}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.