Wartość wybranego elementu do kontrolera

0

Witajcie.
Mam takie pytanie. Jak przekazać wartość wybranego elementu z DropDownList do Kontrolera. Przykładowo uzupełniam DropDownListę wartościami z modelu tak jak poniżej

@Html.DropDownListFor(x => x.GroupType, Model.GroupTypeList, new { @class = "btn btn-default dropdown-toggle", @style = "text-align : left" })

a następnie chcę przekazać go do kontrolera za pomocą Url.Action tak jak poniżej

Url.Action("Edit", "Product") + "?product_id=" + Model.GroupType

Tutaj zawsze mam 1 czyli wartość jaka mi wchodzi z modelu ale jak ten model odświeżyć lub jak pobrać, że np teraz wybrany mam 10 element z DropDownList i wstawić go w miejsce Model.GroupType

0

Nie możesz tego zrobić w ten sposób: generowanie kodu HTML dla linka następuje gdzie indziej (na serwerze) i długo przed tym, jak człowiek może coś sobie wybrać z DropDownList (co robi klient).

Użyj formularza, na przykład takiego (kod przykładowy, zgodnie ze sztuką powinno być nieco inaczej):

<form action="Url.Action("Edit", "Product")" method="get">
@Html.DropDownListFor(x => x.GroupType, Model.GroupTypeList, new { @class = "btn btn-default dropdown-toggle", @style = "text-align : left", Name = "product_id" })
</form>

I to powinno ci przekierować do http://example.com?product_id=<warrtosc z selecta> (bo formularz używa metody GET), aczkolwiek może nie zadziałać (nie testowałem), bo nie wiem czy da się bezproblemowo nadpisać nazwę kontrolki tworzoną przez DropDownListFor().

1 użytkowników online, w tym zalogowanych: 0, gości: 1