ASP.NET MVC全球化如何与我自己的ResourceProvider一起工作?

时间:2010-08-16 07:59:10

标签: asp.net-mvc asp.net-mvc-2 globalization

我创建了一个继承IResourceProvider的新类,并在web.config中注册它

<globalization resourceProviderFactoryType="xx.xxx.xxxx" uiCulture="auto" enableClientBasedCulture="true"/>

这个新类只是实现

public GetObject(string resourceKey, CultureInfo culture)
{
   ....
}

将从我自己的数据库中获取全球化文本。

问题是如何在验证属性中使用它,例如下面的语法:

[StringLength(5, ErrorMessageResourceType = typeof(Global), ErrorMessageResourceName = "StringLength")]  
public string StringLength { get; set; }  

以及如何直接在视图中使用它? 在经典的网络表单中,我可以使用

<asp:Literal ID="test" runat="server" Text="<%$ resources:Text,123 %>"></asp:Literal>

感谢

1 个答案:

答案 0 :(得分:0)

  

以及如何直接在视图中使用它?

您应该能够在视图中引用您的资源类:

<%: xx.xxx.xxxx.IdOfString >

如果您不想在每个视图上完全限定类/命名空间,可以在pages / namespaces部分的web.config上声明xx.xxx.xxxx命名空间,然后您可以使用:

<%: xxxx.IdOfString %>