ASP.NET MVC Beta 1 - где Html.RenderPartial?
Я только что обновляю приложение Preview 5 до Beta 1, и я почти там сохраняю эту ошибку при попытке визуализации элемента управления:
'System.Web.Mvc.HtmlHelper' не содержат определение "RenderPartial" и никакого расширения метод "RenderPartial", принимающий первый аргумент типа "System.Web.Mvc.HtmlHelper" может быть найдено (вам не хватает директива или ссылка на сборку?)
Моя разметка (на странице .aspx View Content):
<% Html.RenderPartial("Controls/UserForm", ViewData); %>
Я пробовал использовать Microsoft.Web.Mvc, но безрезультатно. Кто-нибудь знает, куда ушел Html.RenderPartial, или какую альтернативу я мог бы использовать?
Ответы
Ответ 1
А также не забудьте добавить пространства имен, подобные приведенным ниже, в веб-конфигурацию, я думаю, что предварительный просмотр 5 по умолчанию. web.config не имеет System.Web.Mvc.Html в нем:
<namespaces>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Ajax"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="System.Linq"/>
<add namespace="System.Collections.Generic"/>
</namespaces>
Ответ 2
Теперь исправлено - конфликт был разницей в требованиях Web.config между предварительным просмотром 5 и бета-версией 1. В сборники компиляции system.web необходимо добавить следующее:
<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
После этого изменения все мои старые методы HtmlHelper волшебным образом вернулись!
Ответ 3
В дополнение к добавлению ссылки на сборку мне также пришлось добавить строку
<add namespace="System.Web.Mvc.Html"/>"
в разделе pages/namespaces в файле web.config.