sharepoint2010如何本地化WebPart的Category、WebDisplayName 和 WebDescription 属性
在项目中经常需要实现多语言其中包括webpart的属性也需要。那么如何实现呢?
首先需要资源文件,利用资源文件实现语言的翻译,如下图:

创建好资源后,下面我们来实现webpart属性的多语言。方法代码如下:
1: using System;
2: using System.Collections.Generic;
3: using System.Text;
4: using System.Globalization;
5: using System.Web;
6: using System.Web.UI.WebControls.WebParts;
7: using System.ComponentModel;
8: //****************************************************************
9: //编制人:XX
10: //编制作用:本地化WebPart的Category、WebDisplayName 和 WebDescription 属性
11: //编制时间:2013-05-07
12: //编制单位:XX
13: //****************************************************************
14: namespace TCL.EP.SPCommon
15: {
16: #region//WebPart类别本地化
17: public sealed class LocalizedCategoryAttribute : CategoryAttribute
18: {
19: public LocalizedCategoryAttribute(string category)
20: : base(category)
21: { }
22:
23: // Override this method to return values from the webpart's resource file.
24: protected override string GetLocalizedString(string value)
25: {
26: return LocalizedUtility.GetLocalizedString(value, CultureInfo.CurrentUICulture.LCID);
27: }
28: }
29: #endregion
30:
31: #region//WebPart显示名称本地化
32: public sealed class LocalizedWebDisplayNameAttribute : WebDisplayNameAttribute
33: {
34: bool m_isLocalized;
35:
36: public LocalizedWebDisplayNameAttribute(string displayName)
37: : base(displayName)
38: { }
39:
40: // Override this property to return values from the webpart's resource file.
41: public override string DisplayName
42: {
43: get
44: {
45: if (!m_isLocalized)
46: {
47: this.DisplayNameValue = LocalizedUtility.GetLocalizedString(base.DisplayName, CultureInfo.CurrentUICulture.LCID);
48: m_isLocalized = true;
49: }
50: return base.DisplayName;
51: }
52: }
53: }
54: #endregion
55:
56: #region//WebPart描述本地化
57: public sealed class LocalizedWebDescriptionAttribute : WebDescriptionAttribute
58: {
59: bool m_isLocalized;
60:
61: public LocalizedWebDescriptionAttribute(string description)
62: : base(description)
63: { }
64:
65: // Override this property to return values from the webpart's resource file.
66: public override string Description
67: {
68: get
69: {
70: if (!m_isLocalized)
71: {
72: this.DescriptionValue = LocalizedUtility.GetLocalizedString(base.Description, CultureInfo.CurrentUICulture.LCID);
73: m_isLocalized = true;
74: }
75: return base.Description;
76: }
77: }
78: }
79: #endregion
80: }
调用例子如下:
1: /// <summary>
2: /// 图片打开的URL
3: /// </summary>
4: [WebBrowsable(true)]
5: [LocalizedWebDisplayName("TCL.WebPartAttribute.PhotoImageUrl")]
6: [LocalizedWebDescription("TCL.WebPartAttribute.PhotoImageUrl")]
7: [Personalizable(PersonalizationScope.Shared)]
8: [LocalizedCategory("TCL.WebPartAttribute.SelfName")]
9: public string PhotoImageUrl { get; set; }
sharepoint2010如何本地化WebPart的Category、WebDisplayName 和 WebDescription 属性的更多相关文章
- 给category添加基本数据类型属性
给category添加基本数据类型属性 说明 通常,我们添加属性都是通过对象扩展来实现的,其实,我们也可以用runtime来添加基本数据类型的属性 源码 // // UIView+AnimationP ...
- iOS category中的所谓属性 和 从xib初始化对象的方法 以及类扩展
今天在编码时遇到以下代码 @interface UITextField (TCCustomFont) @property (nonatomic, copy) NSString* fontName; @ ...
- category类别中添加属性
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...
- SharePoint 2013 图文开发系列之WebPart
这是我们介绍SharePoint开发入门的第一篇,在这一篇里,我们会介绍SharePoint开发的几个关键物理路径,一些开发技巧和最基础的WebPart开发. 开发工具 在SharePoint 201 ...
- Sharepoint 2010 之 WebPart
转:http://blog.csdn.net/bestbadgod/article/details/6895542 Sharepoint系列的博客,都是我个人自学过程中的点滴的积累,毕竟没做过C#及A ...
- SharePoint 2013 图文开发系列之可视化WebPart
有了WebPart开发的基础,再进行可视化WebPart开发,就容易多了.创建和开发过程,两者非常相似,下面,我们简单介绍下可视化WebPart的开发. 1.添加新项目,选择SharePoint 20 ...
- 【原】iOS动态性(一):动态添加属性的方法——关联(e.g. 向Category添加属性)
想到要如何为所有的对象增加实例变量吗?我们知道,使用Category可以很方便地为现有的类增加方法,但却无法直接增加实例变量.不过从Mac OS X v10.6开始,系统提供了Associative ...
- Objective-C :Category
Category 引入 在日常的开发中,可能会碰到这样的需求:给某个类增加方法.比如说,需要给NSString类增加一个打印的方法.当然,我们可以新建一个类比如TestString,并继承NSStri ...
- iOS动态性:动态添加属性的方法——关联(e.g. 向Category添加属性)
想到要如何为所有的对象增加实例变量吗?我们知道,使用Category可以很方便地为现有的类增加方法,但却无法直接增加实例变量.不过从Mac OS X v10.6开始,系统提供了Associative ...
随机推荐
- Linux - 变量
printenv - print all or part of environment 显示所有变量:print 显示某个变量:print <variable name> 或者 echo ...
- jQuery & CSS 制作金属质感的选择按钮
如果能把 CSS 运用好,我们创作出好的交互和效果的可能性大大增加.这篇文章中,我想与大家分享一组结合 jQuery & CSS 制作的充满金属质感的选择框效果,绝对是超级精美的效果. 在线演 ...
- 坑人的微信新版支付(V3.3.6)
现在微支付的需求越来越多,最近刚接到一个需要微支付的项目,于是身为程序猿的我拿到最新的微信支付接口文档(3.3.6)就开始研究微信支付.本以为应该跟支付宝差不多的感觉结果被坑了.恕在下无能, ...
- Azure ARM (6) ARM Template简单介绍
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
- Moon.Orm 5.0(MQL版)使用指南及代码生成器新版发布
相关博文1)Moon.Orm 5.0 (MQL版) 配置说明; 2)Moon.Orm 5.0 (MQL版) 版本维护及下载(跟踪发布); 3)Moon.Orm 5.0系列文章; 4)Moon.Orm ...
- python注释
初学python 习得注释方法 如下: #我是注释 print("hello") ''' 我是 多行 注释! ''' 其实就是#号和三个单引号(也可以双引号)啦 看下面:这注释其实 ...
- GhostDoc Pro v4.9.14093.Cracked.By.SubMain 一款好用的代码注释生成工具——VS插件
一款比较好用的 VS 插件,能够快速生成注释. 这是 Pro 版本,与标准版本相比,支持对类.文件批量生成注释并且可以生成 CHM 帮助文件. 具体差异请转到: http://submain.com/ ...
- Quartz.net使用总结
进来项目中用到了 任务调度 来实现短信发送网关,所以这里分享下 Quartz.net 的使用经验. 任务调度选用了 Quartz.net 来实现,之前用的是C#中自带的window服务安装,这次 ...
- .Net(C#)最简单的邮件发送案例
一.序言 刚开始接触邮件发送功能的时候,在网上找的资料都挺复杂的!对于新手入门有点难(至少对于本人来说,第一次接触的时候确实不容易).这里就写一段简单的邮箱发送代码,备忘,也给新手一个参考(相关类的字 ...
- Sqlserver2005日志文件太大,使其减小的方法
Sqlserver2005日志文件太大,使其减小的方法: 运行下面的三行 dbName为数据库名: backup log dbNamewith NO_LOG backup log dbNamewith ...