Multi-Language WebPart简单引用


WebPart多语言的实现:

WPResource.cs

View Code
using System;
using System.Web.UI.WebControls.WebParts;
using Microsoft.SharePoint;
using System.ComponentModel;
using System.Web;

namespace WebPartCollection.Common
{

public static class WPResource
{
const string RESOURCE_FILE_NAME = "Anson";
/// <summary>
/// 获取资源字符串的值
/// </summary>
/// <param name="key">资源字符串key</param>
/// <returns></returns>
public static string GetString(string key)
{
try
{
string value = "" + HttpContext.GetGlobalResourceObject(RESOURCE_FILE_NAME, key);
//value = ""+HttpContext.GetGlobalResourceObject(RESOURCE_FILE_NAME, key, System.Threading.Thread.CurrentThread.CurrentCulture);
if (value == "")
return key;
else
return value;
}
catch (Exception ex)
{
throw new SPException("access resource file [" + RESOURCE_FILE_NAME + "] error,please confirm files in App_GlobalResources.", ex);
}
}
}

/// <summary>
/// 属性分类,名称从资源中获取
/// </summary>
public class ResCategoryAttribute : CategoryAttribute
{
public ResCategoryAttribute(string key)
: base(key)
{ }

protected override string GetLocalizedString(string value)
{
return WPResource.GetString(value);
}
}

/// <summary>
/// 属性显示名,从资源中获取
/// </summary>
public class ResWebDisplayNameAttribute : WebDisplayNameAttribute
{
public ResWebDisplayNameAttribute(string key)
: base(key)
{ }

public override string DisplayName
{
get
{
return WPResource.GetString(base.DisplayName);
}
}
}


public class ResConnectionProviderAttribute : ConnectionProviderAttribute
{
public ResConnectionProviderAttribute(string name) : base(name)
{
}

public ResConnectionProviderAttribute(string name,string id) : base(name,id)
{
}

public override string DisplayName
{
get
{
return WPResource.GetString(base.DisplayName);
}
}
}

public class ResConnectionConsumerAttribute : ConnectionConsumerAttribute
{
public ResConnectionConsumerAttribute(string name)
: base(name)
{
}

public ResConnectionConsumerAttribute(string name, string id)
: base(name, id)
{
}

public override string DisplayName
{
get
{
return WPResource.GetString(base.DisplayName);
}
}
}
}

WebPart文件代码:

View Code
using System;
using System.Runtime.InteropServices;
using System.Web.UI.WebControls.WebParts;

using WebPartCollection.Common;

namespace WebPartCollection
{
[Guid("c91e5b6c-702f-4716-b4df-2d70858e57cc")]
public class MutilanguageWebPart : System.Web.UI.WebControls.WebParts.WebPart
{
public MutilanguageWebPart()
{
}

private string _URL;
[WebBrowsable,Personalizable]
[ResCategory("XMLURL")]
[ResWebDisplayName("XMLURL")]
public string URL
{
get { return _URL; }
set { _URL = value; }
}
protected override void CreateChildControls()
{
base.CreateChildControls();
}
}
}

最后一步,新建两个资源文件,分别是Anson.resx和Anson.zh-CN.resxy,在两个两个文件添加key为XMLURL,及value,最后保存,把这两个文件放端口下的App_GlobalResources文件夹,如90\App_GlobalResources

优质内容筛选与推荐>>
1、javascript常用技巧归纳
2、centos 配置apache注意事项
3、【bzoj1178】 Apio2009—CONVENTION会议中心
4、NO.48 Javascript中的事件冒泡
5、自学Python编程的第一天----------来自苦逼的转行人


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn