ASP.net MVC DropDownList Предварительно выбранный элемент игнорируется - PullRequest
9 голосов
/ 11 июня 2009

Я столкнулся с проблемой симуляции, как указано в вопросе "Html.DropDownList в ASP.NET MVC RC (обновление) без предварительного выбора элемента"

Я использую ASP.net MVC 1.0 и мне нужно связать вызов javascript при изменении DropDownList.

<%=Html.DropDownList("SelectList", 
                    (SelectList)ViewData["SelectList"], 
                     new { onchange="javascript:selected_droplist();" } )%>

Это все хорошо, кроме игнорирует мой предварительно выбранный пункт

Если я уберу дополнительную функциональность:

<%=Html.DropDownList("SelectList")%>

Он счастлив и будет использовать мой предварительно выбранный предмет. НО я не получаю действие Javascript!

Итак, как мне добавить javascript к событию onchange?

Ответы [ 3 ]

19 голосов
/ 11 июня 2009

Найден ответ

Когда имя присвоено элементу управления (первый параметр в этом случае «SelectList») это то же самое, что и один из ключей в словаре ViewData, в основном он облажается и игнорирует предварительно выбранный элемент в SelectList

Просто переименовав DropDownList, он работает правильно и привязывается к предварительно выбранному элементу

0 голосов
/ 01 мая 2012

Я знаю, что это старый пост, но я нашел ссылку, показывающую обходной путь, в котором вы можете сохранить то же имя для выпадающего списка и привязку данных для модели в сообщении формы:

http://publicityson.blogspot.com/2010/07/aspnet-mvc-htmldropdownlist-not-showing.html

Я думаю, что это огромная ошибка, и я удивлен, что она еще не исправлена. В любом случае, я надеюсь, что это поможет.

0 голосов
/ 11 июня 2009

К сожалению, я не на работе, поэтому я не могу получить реальный код. Однако я выполнил это, записав событие javascript в качестве атрибута html в Controller, а затем передал его в ViewData.

Когда вы пишете код:

<%=Html.DropDownList("SelectList", (SelectList)ViewData["SelectList"], [htmlAttribute])

В основном в Controller вы должны написать htmlattribute и назначить его в методе dropdownlist.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...