ASP.NET MVC Beta 1 - где находится Html.RenderPartial? - PullRequest
12 голосов
/ 17 октября 2008

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

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

Моя разметка (на странице просмотра содержимого .aspx):

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

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

Ответы [ 3 ]

9 голосов
/ 19 октября 2008

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

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

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

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

2 голосов
/ 17 октября 2008

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

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

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

...