SelectedValue в html выпадающем списке в MVC - PullRequest
0 голосов
/ 12 мая 2010

Я новичок в MVC, так что извините, если я немного толстый. Я использую VB

Я пытаюсь заполнить html-выпадающий список, используя данные из БД, но первый элемент всегда выбран, несмотря ни на что.

Что я делаю не так?

Вот мой код - В контроллере:

ViewData("MatchTypeList") = New SelectList(_db.GetMatchTypes.ToList(), "MatchTypeID", "MatchTypeName", SelectedValue)

А на виду

<%= Html.DropDownList("MatchType", CType(ViewData("MatchTypeList"), IEnumerable(Of SelectListItem)), "Any", New With {.class = "forminput"})%>

1 Ответ

0 голосов
/ 12 мая 2010

Это проблема с MVC. Один из обходных путей - изменить имя выпадающего списка на любое, кроме имени свойства. Затем перед отправкой измените имя обратно на истинное имя свойства.

Пример:

<script type="text/javascript">

    $(function () {
        $("form").submit(function () {
            $("select").each(
                function () {
                   $(this).attr("name", $(this).attr("name").replace(/ZZZ/, ''));
            });
        });
    });

</script>

<%= Html.DropDownList("MatchTypeZZZ", CType(ViewData("MatchTypeList"), IEnumerable(Of SelectListItem)), "Any", New With {.class = "forminput"})%>

Я помещаю javascript (он использует JQuery) на мою главную страницу, чтобы к любой форме в приложении, имеющей выпадающий список, можно было безопасно добавить свое имя с ZZZ, а затем вернуть к исходному имени при отправке.

...