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中使用服务端项目的根命名空间名称

 


图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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值