0

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

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

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

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

诚然,这是非常冗长和丑陋的,尤其是在我们鼓励在 MVC 中使用的内联代码中。现在我倾向于静态类访问

ResourceDictionary.GetEntry(params);

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

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

4

1 回答 1

1

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

<%: Html.GetEntry(params) %>

似乎是一个很好的解决方案

于 2010-06-14T12:20:41.637 回答