在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

基于ASP.NET完成全球化

基于ASP.NET完成全球化

更新時間:2022-04-30 文章作者:未知 信息來源:網絡 閱讀次數:

基于ASP.NET實現全球化


因為項目的關系,這兩天一直在研究ASP.NET的全球化問題。我知道,在JAVA體系中有專門的I18N處理方案,.NET中不可能會沒有。所以,到網上查了查資料,經過一番“苦斗”,略有小成。感覺網上目前還沒有非常完整的解決方案(也可能是我沒有發現),遂花了點時間總結一下經驗教訓,希望與大家共享之。若有什么不足之處,請各位多多指教。
本文中,將以在VS.Net2002中創建一個實際項目的方式來描述在ASP.NET中實現全球化的基本步驟和需要注意的地方。
第一步,我們創建一個名為TestRM的Web Application。這個項目將缺省包含
- AssemblyInfo.cs
- TestRM.csproj
- TestRM.csproj.webinfo
- TestRM.sln
- TestRM.suo
- TestRM.vsdisco
- WebForm1.aspx(包含aspx.cs和aspx.resx)
- Global.asax(包含asax.cs和asax.resx)
- Web.Config
第二步,需要為項目創建若干不同語種的資源文件。在.Net中,資源文件的擴展名是.resx,此文件是基本于XML的,VS.NET提供了非常方便的資源文件編輯工具(個人感覺很象XmlSpy),這兒就不多說了。在此,以簡體中文(zh-cn)和美國英語(en-us)為例。通過“項目->添加新項->資源文件”向項目中分別添加名為string.en-us.resx和string.zh-cn.resx的資源文件,并在string.en-us.resx中添加一條記錄,內容是name:String001;value:Welcome,在string.zh-cn.resx中添加一條記錄name:String001;value:歡迎。其XML文件的結構如下:
<?xml version="1.0" encoding="utf-8" ?>
<root>
...
<data name="String001">
<value>歡迎</value>
</data>
...
</root>
這兒有一點需要說明,如果你不是希望通過修改配置文件動態的切換語種,而是希望通過設置Windows的“區域設置”功能來切換語種的話,請跳過第三步。(有這種需求嗎???-_-)
這樣,當此項目被編譯后,在bin目錄下將為出現en-us和zh-cn兩個子目錄,其中分別有一個dll文件。名為TestRM.resources.dll。
第三步,修改Global.asax和Web.Config文件以實現動態切換語種。
首先,我們需要在Global.asax的Application_BeginRequest事件中添加如下代碼:
protected void Application_BeginRequest(Object sender, EventArgs e)
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ConfigurationSettings.AppSettings["DefaultCulture"]);
}
這是最簡單的應用,當然,你可以將一些配置項存儲到Cookie之中。
然后,在Web.Config中添加如下代碼:
<appSettings>
<add key="DefaultCulture" value="zh-cn" />
</appSettings>
注意,appSettings元素與system.web屬于同一層次。
最后,在WebForm1的Page_Load事件中加入如下代碼:
public class WebForm1 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
WebForm1 form1 = new WebForm1();
ResourceManager resManager = new ResourceManager(form1.GetType().Namespace + ".string", form1.GetType().Assembly);
System.Globalization.CultureInfo ci = System.Threading.Thread.CurrentThread.CurrentCulture;

Response.Write(resManager.GetString("String001",ci));
}

...
}
請大家注意上面這段代碼中有下劃線的這行代碼,在VS.NET 2002中,如果使用this.GetType().Namespace和this.GetType().Assembly.FullName得到竟然是ASP和6fqpc_hh, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null,獲得的Assembly顯然是隨機產生。但在c#的類文件和WinForm中是正常的,不清楚是什么原因。結果當然不用說,肯定是找不到相應的資源文件的。
此外,需要強調的一點是,這兒使用了form1.GetType().Namespace + ".string",如果資源文件不是被放置在項目根目錄下,而是被放在某個子目錄下時,請注意修改項目的缺省命名空間。因為,資源文件被編譯后,在項目的資源文件TestRM.resources.dll的Manifest(用ILDASM查看)中會有如下一行,.mresource public 'TestRM.string.zh-CN.resources'或.mresource public 'TestRM.string.en-US.resources'。其基本的構成規則是項目缺省命名空間+資源文件所在目錄名+資源文件名[+語種],如果一種項目的資源文件不分語種,如:我們定義了一個名為string.resx的資源文件,此時,編譯項目后在bin目錄下將不再會產生諸如zh-CN和en-US之類的子目錄,資源文件將被直接嵌入項目的Assembly中。同時,在項目的Assembly的Manifest中會有如下一行.mresource public 'TestRM.string.resources'。所以,如果資源文件不是放在項目的根目錄,且缺省命名空間沒有被改變的話,在試圖使用resManager.GetString時將會被提示“無法訪問任何語種的資源文件”,原因就是上面所說的。
基本上,上述的這些就是我在研究基于ASP.NET實現全球化時的一些心得,希望能對一些朋友

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 怡红院亚洲色图| 四虎4hu永久免费入口| 亚洲一区二区在线视频观看| 99九九精品视频| 小说区视频区图片区| 狠狠躁狠狠躁视频专区| 艳母动漫在线观看| 动漫av网站免费观看| 青青草综合视频| 精品一区二区成人免费视频 | 日韩av资源在线| 999在线免费视频| www激情五月| 亚洲综合色在线观看| 国产成人永久免费视频| 亚洲色精品三区二区一区| 依人在线免费视频| 成人精品视频一区二区| 欧美一级特黄a| 久久综合伊人77777麻豆最新章节| 波多野结衣国产精品| 久久久久久人妻一区二区三区| 欧美午夜精品理论片| 男人和女人啪啪网站| 蜜桃视频一区二区在线观看| 欧美精品久久久久久久久25p| 三级网在线观看| 中文字幕资源在线观看| 国产1区2区3区中文字幕| 色噜噜狠狠永久免费| 校园春色 亚洲色图| 天天操天天摸天天爽| 999在线观看视频| 久无码久无码av无码| 69堂免费视频| 黄色a级三级三级三级| 男人天堂成人网| 欧美伦理视频在线观看| 日本黄大片在线观看| 国产精品无码电影在线观看| 欧美成人福利在线观看| 午夜dv内射一区二区| 每日在线更新av| 成人在线观看黄| 成人午夜免费在线| 四虎永久在线精品无码视频| 91精品无人成人www| 北条麻妃亚洲一区| 免费视频爱爱太爽了| 我看黄色一级片| 日本高清免费观看| 无码aⅴ精品一区二区三区浪潮| 熟女视频一区二区三区| 无限资源日本好片| 天天干天天干天天干天天干天天干| 国产嫩草在线观看| 午夜肉伦伦影院| 色婷婷综合久久久久中文字幕 | 波多野结衣家庭教师在线播放| 亚洲女人在线观看| 亚洲高清在线免费观看| 亚洲精品一二三四五区| 亚洲午夜无码av毛片久久| 亚洲乱码日产精品bd在线观看| 免费 成 人 黄 色| 成年丰满熟妇午夜免费视频| 成人一区二区三| 国产精品久久久影院| 国产精品日韩三级| 亚洲另类第一页| 丝袜老师办公室里做好紧好爽 | 中文字幕亚洲影院| 免费在线看黄色片| 日本999视频| 国产日韩av网站| 亚洲欧美日韩一级| 久久久性生活视频| 丁香花在线影院观看在线播放| 久久久久免费精品| 一级黄色片播放| 日韩免费在线观看av| 日本韩国欧美在线观看| 日韩日韩日韩日韩日韩| 色国产在线视频| 中文字幕66页| 亚洲黄色片免费看| 日韩中文字幕免费在线| 中文字幕1234区| 欧美视频第一区| 国产免费黄色av| 久草视频这里只有精品| 成年人网站大全| 日韩福利视频在线| wwwwww.色| 国产精品亚洲二区在线观看| 黄色特一级视频| 成人在线观看毛片| 欧美日韩视频免费| 99精品视频免费版的特色功能| 99国产精品久久久久久| 黑人粗进入欧美aaaaa| 色婷婷777777仙踪林| 久久精品久久99| 黄黄视频在线观看| 天堂8在线天堂资源bt| 无码人妻丰满熟妇区毛片18| 播放灌醉水嫩大学生国内精品| 日韩一级片免费视频| www.欧美黄色| 国产欧美自拍视频| www精品久久| 日本在线播放一区二区| 日本a在线天堂| 国产裸体舞一区二区三区| 欧美黄色免费影院| www国产无套内射com| 日本中文字幕在线不卡| 欧美a级免费视频| 久久国产精品免费观看| 亚洲理论电影在线观看| 精品无码av无码免费专区| 97免费视频观看| 欧美婷婷精品激情| 色综合天天色综合| 女人另类性混交zo| 一区二区三区欧美精品| 亚洲这里只有精品| 91网址在线观看精品| 国内av一区二区| 免费在线观看污网站| www成人免费| 青青草视频国产| 黄页免费在线观看视频| 亚洲第一天堂久久| 欧美激情亚洲天堂| 日韩一级免费在线观看| 手机在线成人免费视频| 色天使在线观看| 男女高潮又爽又黄又无遮挡| 亚洲午夜精品久久久久久人妖| 蜜臀av免费观看| 国产精品美女在线播放| 久久最新免费视频| 色综合av综合无码综合网站| 中文字幕在线综合| 亚洲狼人综合干| 国产精品久久久久久9999| 免费看日本毛片| 一区二区三区四区毛片| 国产专区在线视频| 免费 成 人 黄 色| 浮妇高潮喷白浆视频| 久艹视频在线免费观看| 999久久欧美人妻一区二区| 搡的我好爽在线观看免费视频| 少妇黄色一级片| wwww.国产| www.av蜜桃| 播放灌醉水嫩大学生国内精品| 日本成人在线不卡| 欧日韩免费视频| 日韩肉感妇bbwbbwbbw| 婷婷激情小说网| 日本老太婆做爰视频| 欧美性受黑人性爽| 青娱乐自拍偷拍| 91亚洲精品国产| 日韩视频在线视频| 日b视频免费观看| 亚洲老女人av| 成人午夜视频在线观看免费| 爆乳熟妇一区二区三区霸乳| 尤物网站在线看| 国产麻豆电影在线观看| 一本—道久久a久久精品蜜桃| 成年人视频大全| 隔壁人妻偷人bd中字| 黄色一级片黄色| heyzo亚洲| 久色视频在线播放| 日韩精品在线中文字幕| 中国 免费 av| 玖玖精品在线视频| 97公开免费视频| av网站在线不卡| www.com毛片| 久久久久国产精品熟女影院| 免费看污污视频| 成人免费视频久久| 国产精品www在线观看| 欧美国产亚洲一区| 男人添女人下面高潮视频| 国产av无码专区亚洲精品| 免费看欧美黑人毛片| 午夜大片在线观看| 亚洲一区精品视频在线观看| xxww在线观看| 亚洲一区二区在线视频观看| 日本美女高潮视频| 日本精品福利视频|