ASP.Net MVC视图中的附加信息

时间:2010-06-14 12:11:49

标签: asp.net asp.net-mvc viewdata

我正在尝试在MVC 2网页中实现自定义区域设置服务。我有一个接口IResourceDictionary,它提供了几种按文化访问资源的方法。这是因为我想避免使用.Net资源的静态类。

问题是从视图中访问所选的IResourceDictionary。我已经考虑使用给定的ViewDataDictionary,创建一个基本控制器,我的所有控制器都继承这个控制器,在每个动作执行之前将我的IResourceDictionary添加到ViewData。

然后我可以这样调用我的资源字典:

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

不可否认,这是非常冗长和丑陋的,特别是在内联代码中,因为我们鼓励在MVC中使用。现在我倾向于静态类访问

ResourceDictionary.GetEntry(params);

因为它稍微优雅一点。我还想过将它添加到每个页面的类型化模型中,这似乎比将其添加到ViewData更强大。

从视图访问我的ResourceDictionary的首选方法是什么?我的所有观点都将使用这本词典。

1 个答案:

答案 0 :(得分:1)

HtmlHelper扩展,允许您像这样调用您的方法:

<%: Html.GetEntry(params) %>

似乎是一个非常好的解决方案