Пользовательские помощники HTML в Asp.net Области MVC

#asp.net-mvc-3 #razor #asp.net-mvc-areas

#asp.net-mvc-3 #razor #asp.net-mvc-areas

Вопрос:

У меня есть несколько пользовательских помощников Html для моего Asp.net Приложение MVC 3. В основном приложении они работают корректно, поскольку я поместил следующее в свой Web.Config :

 <pages clientIDMode="AutoID">
  <namespaces>
    <add namespace="System.Web.Helpers" />
    <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.Web.WebPages"/>
    <add namespace="WebDibaelsaMVC.Utils.HtmlHelpers" />
    <add namespace="WebDibaelsaMVC.Utils.HtmlHelpers.DTOs" />
  </namespaces>
</pages>
  

но теперь я создал область, и чтобы заставить мои пользовательские помощники работать, я должен добавить using на каждой странице, где я их использую. Есть ли способ добавить пространства имен по умолчанию для этой области?

Ответ №1:

Если вы используете Razor, вам может потребоваться добавить ссылку на <namespaces> раздел в ~/Views/web.config и ~/Areas/YourAreaName/Views/web.config , а не на основной ~/web.config файл. Также убедитесь, что вы перекомпилировали проект, открыли, закрыли представление, возможно, даже перезапустили Visual Studio, чтобы изменения вступили в силу (с точки зрения Intellisense, это сработает, если вы запустите проект).

Комментарии:

1. Спасибо. Это было все. Я добавил их в основные представления, но не в область.

2. @Carles Company, я рад, что смог помочь.

3. Была такая же проблема с Reactjs. NET html helper не работает в области MVC, и добавление пространства имен решило эту проблему.