Ссылки на файлы ресурсов из бритвы - PullRequest
12 голосов
/ 28 марта 2012

Я использую ASP.NET Internationalization из Code52 на http://code52.org/aspnet-internationalization/, которая использует (языковые) файлы ресурсов.

Из моего контроллера я ссылаюсь на строку, которую хочу вот так

ViewBag.Message = Language.Index_Title;

Можно ли ссылаться на значения непосредственно в (бритвенном) представлении? Как то так: @Resources.Language.Index_Title;

Ответы [ 3 ]

10 голосов
/ 28 марта 2012

В вашем web.config у вас есть раздел «Страницы» ... туда вам нужно добавить свое пространство имен Ресурса ... таким образом, вам не нужно объявлять его на каждой странице с помощью «using».

<pages>
  <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="Your.Resources.Namespace" />  <!--ADD THIS LINE-->
  </namespaces>
</pages>

Затем, предполагая, что ваш файл ресурсов называется "Язык", в представлении Razor вы используете:

@Language.Index_Title
4 голосов
/ 29 августа 2013

Измените ваш файл ресурсов в свойствах в Custom Tool, вам нужно добавить значение " PublicResXFileCodeGenerator ", а также, по вашему мнению, вы можете использовать файл ресурсов.

3 голосов
/ 28 марта 2012

Попробуйте @ ViewContext.HttpContext.GetGlobalResourceObject (classKey, resourceKey). Надеюсь, это поможет

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