2013-04-22 1 views
0

Использование John Papa's hot towel template, у меня есть эта проблема.Шаблон горячего полотенца: как получить методы html helper для отображения?

В index.cshtml функции htmlhelper не отображаются. Это означает, что нет @ Html.RenderPartial или Html.Partial, actionlink и т. Д., Ничего.

При попытке получить их я добавляю в корневые пространства имен web.config, указывающие на System.Web.Mvc.Html. Как так:

<system.web.webPages.razor> 
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
    <namespaces> 
     <add namespace="System.Web.Mvc" /> 
     <add namespace="System.Web.Mvc.Ajax" /> 
     <add namespace="System.Web.Mvc.Html" /> 
     <add namespace="System.Web.Optimization"/> 
     <add namespace="System.Web.Routing" /> 
    </namespaces> 
    </pages> 
</system.web.webPages.razor> 

Но это неизбежно приводит к ошибке, как «Index.cshtml не наследует от" System.Web.WebPages.WebPage». Даже когда я могу добавить @inherits в верхней части моей страницы.

+0

Сравните ссылки библиотек (Solution Explorer-> ProjectName-> References) на те, которые были созданы в новом проекте MVC, созданном из шаблона MVC по умолчанию. – AaronLS

ответ

0

Вероятно, это линия, которая должна быть изменена

<pages pageBaseType="System.Web.Mvc.WebViewPage"> 

Попробуйте унаследовать от System.Web.WebPages.WebPage и посмотреть, если это не оказывает никакого влияния на весь SPA приложение.

+0

Спасибо за ваш ответ, но я тоже попробовал, и все равно получаю ту же ошибку. Это не имеет для меня никакого смысла. – Nicolas

+0

Исправление, если заменить pageBaseType на System.Web.WebPages.WebPage, я получаю эту ошибку: Ошибка компиляции Описание: Произошла ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Ознакомьтесь с приведенными ниже конкретными данными об ошибках и соответствующим образом измените исходный код. Compiler Error Message: CS0308: Не-универсальный тип 'System.Web.WebPages.WebPage' не может быть использован с аргументами типа Источник ошибки: Линия 35: Линия 36: Line 37: общественный класс _Page_index_cshtml : System.Web.WebPages.WebPage { Строка 38: Строка 39: # строка скрыта – Nicolas

Смежные вопросы