Подтвердить что ты не робот

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, или какую альтернативу я мог бы использовать?

4b9b3361

Ответ 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.