Дополнительная информация в ASP.Net MVC View

Я пытаюсь реализовать службу настраиваемого языкового стандарта на веб-странице MVC 2. У меня есть интерфейс IResourceDictionary, который предоставляет несколько методов для доступа к ресурсам по культуре. Это потому, что я хочу избегать статических классов ресурсов .Net.

Проблема заключается в доступе к выбранному IResourceDictionary из представлений. Я задумал использовать данный ViewDataDictionary для создания базового контроллера, от которого наследуются все мои контроллеры, который добавляет мой IResourceDictionary к ViewData перед выполнением каждого действия.

Тогда я мог бы назвать свой словарь ресурсов следующим образом:

(ViewData["Resources"] as IResourceDictionary).GetEntry(params);

По общему признанию, это чрезвычайно многословно и некрасиво, особенно во встроенном коде, который нам рекомендуется использовать в MVC. Сейчас я склоняюсь к статическому доступу к классам

ResourceDictionary.GetEntry(params);

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

Каков предпочтительный способ доступа к моему ResourceDictionary из представлений? Все мои взгляды будут использовать этот словарь.


person Max    schedule 14.06.2010    source источник


Ответы (1)


HtmlHelper, которое позволит вам вызывать свой метод следующим образом:

<%: Html.GetEntry(params) %>

Кажется, неплохое решение

person tpeczek    schedule 14.06.2010