Silverlight, RIA Services, Data Annotation与本地化资源文件共享

来源:转载

在RIA Services中使用Data Annotations可以非常方便的实现数据验证,并且Data Annotation可通过资源文件.resx实现本地化。这里最大的挑战是如何在Silverlight端与WCF端共享资源文件。

如何实现资源文件的共享?

服务端项目文件设置(VB.NET项目)如下:

 

 

图1-1: 服务端资源文件 - ValidationStrings.Designer.vb中的构造函数修改为Public (此为VS的bug,每次改动resx文件,需手动修改)

 

图1-2 VB.NET默认 Namespace为"My.Resources",这里去掉

图1-3 Domain Service的metadata文件中可使用Data Annotation 的本地化参数

Silverlight端项目文件设置如下:

 

 

图2-1 "链接添加"现有的服务端项目资源文件

 

图2-2 编辑Silverlight项目文件,添加图中高亮内容

 

图2-3 继续添加图中高亮内容,LogicalName中使用此Silverlight项目的根命名空间名称

图2-4 编译Silverlight项目,可查看自动生成的代码中已经在Silverlight端使用了Data Annotation及本地化参数

通过以上设置,就实现了Data Annotation本地化资源文件在Silverlight端与服务端的共享。效果如下:

参考1:http://forums.silverlight.net/forums/p/184013/420509.aspx

参考2:http://msdn.microsoft.com/en-us/library/ms164295(v=vs.90).aspx

资源1:使用反编译器查看assembly中的资源文件命名,可有助于发现问题。Reflector不再免费,可用JustDecompile

本文来自jameszhou的博客,原文地址:http://blog.csdn.net/jameszhou/archive/2011/06/25/6566892.aspx

分享给朋友:
您可能感兴趣的文章:
随机阅读: