Localization Theme

Localization Theme

為了能夠因應變換語系而套用不同的skin,所以必須在程式中判定語系來切換theme,但是切換theme必須放在Page_PreInit的事件裡面(一開始試著放在master page裡面,但是他卻沒有Page_PreInit事件,所以還是必須放在每單一頁的Page_PreInit上);但是一頁一頁修改實在太麻煩了,如果在global接回page修正也是可以,但是如果有預設值,在後面Page_PreInit會被蓋掉。所以還是必須在Page_PreInit的事件處理。

只好綁一個Page_PreInit上去!

	{
		HttpContext ctx = HttpContext.Current;
		Response.Cache.SetCacheability(HttpCacheability.NoCache);
		Page p = (ctx.Handler as Page);
		if (p != null)
			p.PreInit += new EventHandler(Page_PreInit);
	}
 
	void Page_PreInit(object sender, EventArgs e)
	{
		Page p = sender as Page;
		if (System.Globalization.CultureInfo.CurrentCulture.IetfLanguageTag == "en-US")
			p.Theme = "en-US";

}
DotBlogs 的標籤:,