程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> ASP.NET基礎 >> .NET 資源文件resx、Resources詳細說明

.NET 資源文件resx、Resources詳細說明

編輯:ASP.NET基礎
資源文件簡介

(1)resx文件:
基於文本的格式是特定於.NET 框架的 XML 格式,稱為 ResX(.resx 文件)。不考慮其 XML 基礎,該格式不是專門為人工閱讀而設計的(XML 格式很少是這樣的)。但是,Visual Studio .NET 仍然為 .resx 文件提供了一個基本編輯器。

(2)Resources文件:
.resources 擴展名來自於在將 .resx 文件作為資源嵌入之前 Visual Studio .NET 處理該文件時所使用的工具。工具名稱是 resgen.exe,它用來將 .resx XML 格式“編譯”為二進制格式。可以手動將 .resx 文件編譯成 .resources 文件,如下所示:
C:\> resgen.exe Resource1.resx
在將 .resx 文件編譯成 .resources 文件以後,就可以使用 System.Resources 命名空間中的 ResourceReader 來枚舉它:

二、  資源文件應用簡介

(1)在Windows Application中的使用:

1.首先注意的是,在Windows Application中的resx資源文件是和其中的Form相關聯的,及Form.cs與Form.Designer.cs和Form.resx文件是作為一個整體進行展示的(在資源管理器中),這裡不涉及本地與全局資源文件夾的概念,及如果想導入已經生成的Resources文件的話,直接在工程上右鍵add new Item即可,選擇完相關的Resources文件,記住要將資源文件的屬性中的Build Action選擇為Embadded resource(內嵌資源),這樣的話,資源就會在你編譯後直接嵌入到你的應用程序當中。

2.具體應用代碼示例:
復制代碼 代碼如下:
Assembly assembly = Assembly.GetExecutingAssembly();
ResourceManager rm = new ResourceManager("TestStrongName123.Form1", assembly);
this.textBox1.Text = rm.GetString("First");

3.resources文件與resx文件的區別,也可以從他們對資源的保存形式來判斷,前者會將所有的資源都保存到該文件中,而後者只是會保存對資源的引用
在ASP.NET Web Application中的使用:

1.在此處應用資源文件的時候可能與前面的使用方法略有不同,而且在VS2005中引入了新的使用方式,即資源文件夾的概念,即把全局資源與本地資源分別保存到App_GlobalResources和App_LocalResources目錄中,只要放到這兩個目錄中的資源文件,可以再根據自己的分類繼續進行文件劃分,這個不影響工程找到資源文件,這裡還要對資源文件的命名簡單介紹一下,全局資源只要保證其文件為resx文件即可,名字自己可以隨意,而後者的命名必須遵循一定的命名規則才可以,即:對應的頁面文件名 + “.resx”。

2.具體應用代碼示例:
<1> 應用本地資源(字符串):
<asp:Literal ID="Literal1" runat="server" Text="<%$Resources:LocalString1%>"></asp:Literal>
Literal2.Text = (string)this.GetLocalResourceObject("LocalString2");
<2> 應用全局資源(字符串):
<asp:Literal ID="Literal3" runat="server" Text="<%$Resources:GlobalResource, GlobalString1%>"></asp:Literal>
Literal4.Text = (string)base.GetGlobalResourceObject("GlobalResource", "GlobalString2");
<3> 獲取全局資源中的圖片:
Bitmap bm = null;
bm = Resources.GlobalResource.GlobalSmallFail;

3.其他一點說明:使用web site站點的時候,與這裡的應用也是類似的,這裡就不贅述了。

4.針對公文系統來說,資源文件的使用比較局限,因為我們的公文系統采用的策略為使用客戶端控件,避免使用服務器端控件;再者,我們都餓應用無法提前欲知情況(也就是全球化的資源思路),所以,鑒於此,我們系統中應用資源文件的使用只能局限到對字符串等的使用,但是在圖片等方面可能無法達到我們的需求,使用圖片替換仍舊為我們的首選方案。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved