Multi-Language WebPart簡單引用

來源:互聯網
上載者:User

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

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.