Html.DropDownList больше не работает после обновления до ASP.NET MVC RC1 - PullRequest
0 голосов
/ 30 января 2009

У меня был следующий фрагмент кода в веб-приложении, работающем в ASP.NET MVC Beta:

<%= Html.DropDownList("Instances", new { style="width:270px;", onchange = "UpdateReport(this)" }) %>

где "Экземпляры" - это список SelectList, хранящийся в ViewData, например:

ViewData["Instances"] = new SelectList(instanceList, "Id", "ClientName", report.SelectedId);

После обновления до MVC RC1 я получаю следующую ошибку в DropDownList:

CS1928: «System.Web.Mvc.HtmlHelper» не содержит определения для «DropDownList» и наилучшей перегрузки метода расширения «System.Web.Mvc.Html.SelectExtensions.DropDownList (System.Web.Mvc.HtmlHelper, строка, строка) 'имеет недопустимые аргументы

Я обновил свои ссылки, чтобы они указывали на правильные (новые) файлы Mvc Dll, а также обновил файл Microsoft.Web.Mvc.dll до библиотеки DLL RC MVC Futures из codeplex.

Может кто-нибудь помочь?

Ответы [ 3 ]

4 голосов
/ 31 января 2009

попробуйте это:

<%= Html.DropDownList("Instances", (SelectList)ViewData["Instances"], new { style="width:270px;", onchange = "UpdateReport(this)" }) %>
1 голос
/ 30 января 2009

Подпись Html.DropDownList немного изменилась в RC. Второй параметр теперь является объектом SelectList, а не объектом атрибутов. Вам просто нужно изменить код вида, чтобы вызвать правильную перегрузку.

0 голосов
/ 05 февраля 2009

На самом деле это комбинация обоих ответов ...

Вторым параметром должен быть SelectList, однако для устранения конкретной ошибки, которую вы получаете, необходимо также преобразовать объект ViewData в SelectList, для ericness 'ответа:

<%= Html.DropDownList("Instances", (SelectList)ViewData["Instances"], new { style="width:270px;", onchange = "UpdateReport(this)" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...