Вопрос

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

'System.Web.Mvc.HtmlHelper' не содержит определения для 'RenderPartial' и никакого расширения метод 'RenderPartial', принимающий первый аргумент типа 'System.Web.Mvc.HtmlHelper' может быть найден (вам не хватает директивы using или ссылки на сборку?)

Моя разметка (на странице просмотра содержимого в формате .aspx) выглядит следующим образом:

<% Html.RenderPartial("Controls/UserForm", ViewData); %>

Я пробовал использовать Microsoft.Web.Mvc, но безрезультатно.Кто-нибудь знает, куда делся Html.RenderPartial, или какую альтернативу я мог бы использовать?

Это было полезно?

Решение

А также не забудьте добавить пространство имен, как показано ниже, чтобы веб-конфигурации, я думаю, превью 5 веб умолчанию.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>

Другие советы

Теперь исправлено - конфликт был вызван различием в требованиях к Web.config между предварительным просмотром 5 и бета-версией 1.В узел system.web compilation assemblies необходимо добавить следующее:

<add assembly="System.Web.Mvc, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

После этого изменения все мои старые методы HtmlHelper волшебным образом вернулись!

В дополнение к добавлению ссылки на сборку мне также пришлось добавить строку

 <add namespace="System.Web.Mvc.Html"/>"  

перейдите в раздел страницы / пространства имен в файле web.config.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top