Добавление пространств имен в представления ASP.NET MVC 3 - PullRequest
11 голосов
/ 03 июня 2011

Я попытался добавить пространства имен к configuration/system.web/pages/namespaces в web.config моего приложения ASP.NET MVC 3, чтобы я мог использовать классы в этих пространствах имен в моих представлениях без необходимости использования @using, но это не имеет никакого эффекта.Как я могу добавить пространства имен к своим представлениям?

Ответы [ 3 ]

28 голосов
/ 03 июня 2011

У бритвы MVC есть другая область для пространств имен.

Найдите второй файл web.config, который находится в вашей папке Views, и добавьте таким образом пространства имен.

<system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.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.Routing" />
            <add namespace="Telerik.Web.Mvc.UI;"/>
        </namespaces>
    </pages>
</system.web.webPages.razor>
8 голосов
/ 03 июня 2011

Я не уверен, почему он такой ненадежный, но есть вероятность, что он действительно действительно работает, но Visual Studio не распознает его, пока вы не закроете и не откроете вновь открытое представление. Также убедитесь, что вы находитесь в файле web.config, который находится в каталоге Views.

1 голос
/ 12 сентября 2012

Я использовал этот метод для включения файлов ресурсов в свои представления, но Razor не хотел брать мои классы. После некоторого напряжения я понял, что не изменил модификатор доступа в файле Resources.resx на public (по умолчанию он создан как Internal). Как только я изменил его и перекомпилировал, я мог получить доступ к своим ресурсам из всех представлений.

Ошибка новичка, не хочется видеть, как это происходит, но, надеюсь, это спасет кого-то от боли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...