SelectedValue в раскрывающемся списке html в MVC

Я новичок в MVC, поэтому извините, если я немного толстоват. я использую ВБ

Я пытаюсь заполнить раскрывающийся список 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"})%>

person Daniel    schedule 12.05.2010    source источник


Ответы (1)


Это проблема с 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, а затем вернуться к исходному имени при отправке.

person David Perlman    schedule 12.05.2010