1. 程式人生 > >Asp.net多語言中的App_GlobalResources和LocalResourc

Asp.net多語言中的App_GlobalResources和LocalResourc

App_GlobalResources的檔案是全域性檔案資源,可以在任何頁面通過Resources直接使用這裡面的資原始檔。示例如下:

1、在App_GlobalResources中增加一個檔案叫做ResourceTest.resx

2、在ResourceTest.resx中增加兩個項 PageTitle 值為“中國加油!” LabelText值為“奧運順利!”

3、開啟aspx頁面的,然後在Page_Load方法中可以直接這樣使用

protected void Page_Load(object sender, EventArgse)
      {
          this.Title = Resources.ResourceTest.PageTitle;
          Label1.Text = Resources.ResourceTest.LabelText;
      }

這裡的ResouceTest就是那個資原始檔的檔名,在VS中,可以自動感知出ResourceTest。

直接在頁面的控制元件中的使用方法是:

<asp:Label ID="Label1" runat="server"Text="<%$Resources:ResourceTest,LabelText%>"></asp:Label>

如果使用這種方式綁定了App_GlobalResources,那麼就不能再繫結App_LocalResources中的資原始檔了

如果要支援英文,就在App_GlobalResources中增加一個檔案,檔案命名格式是:ResourcesTest.en-us.resx,在頁面的使用方式不變。當你用瀏覽器訪問時,系統會自動偵測出你的瀏覽器設定的預設語言,然後自動呼叫不同的資源包來呈現出來。

除了上面所談到的方式可以直接使用資源包,還可以通過HttpContext.GetGlobalResourcesObject來獲取資源包的內容。

HttpContext.GetGlobalResourceObject(resxFile, MyResName)

HttpContext.GetGlobalResourceObject(resxFile, MyResName,CurrentCulture)

這個方法第一個引數是資原始檔名,第二個引數是要檢索的鍵值。呼叫例子為:

string GetGlobalResources(string resxFile,string resxKey)

{

stringresxValue=(string)HttpContext.GetGlobalResourceObject(resxFile, resxKey)

if(string.IsNullOrEmpty(resxValue)

{

return string.Empty;

}

return resxValue;

}

App_LocalResources資料夾,這個資料夾中放的是頁面的資原始檔,這些資原始檔和每個Aspx頁面對應。比如我在網站專案下添加了一個Default.aspx檔案,在設計VS的模式下,選擇工具“生成本地資源”就會自動在App_LocalResources中生成一個名字為Default.aspx.resx的資原始檔。

程式設計訪問的方式是:

HttpContext.GetLocalResourceObject("resxFile","resxKey")

直接在控制元件中的訪問方式:

<asp:Label ID="Label1" runat="server"meta.:resourcekey="LabelText"></asp:Label>

相關推薦

Asp.net言中App_GlobalResourcesLocalResourc

App_GlobalResources的檔案是全域性檔案資源,可以在任何頁面通過Resources直接使用這裡面的資原始檔。示例如下: 1、在App_GlobalResources中增加一個檔案叫做ResourceTest.resx 2、在ResourceTest.resx中增加兩個項 PageTitle

ASP.NET單值繫結值繫結(c#+VS2010)

一、單值繫結 新建一個ASP.NET網站模板->雙擊網站根目錄下的Default.aspx檔案,開啟設計檢視,從工具箱中拖一個label控制元件到設計檢視中->切換到源檢視中,設定label控制元件的屬性如下: <asp:Label ID="Label1

ASP.Net MVC連接MySQLCode First的使用

config文件 onf tsql .com mysql字符串 spa set web 不同 首先要準備一下的工具作為環境 MySQL Community Server 5.7.x My Workbench 6.3 VS2017 新建一個項目,NetMySQLCodeF

c言中fscanffprintf

寫的權限 set per efi errno fclose pri form price 很多時候我們需要寫入數據到文件中時都覺得很困擾,因為格式亂七八槽的,可讀性太差了,於是我們就想有沒有什麽函數可以格式化的從文件中輸入和輸出呢,還真有。下面我將講解一下fscanf和fp

ASP.NET Core:使用DapperSwaggerUI來豐富你的系統框架

fig targe api 依賴 dev 多表 efault 方便 div 一、概述 1、用VS2017創建如下圖的幾個.NET Standard類庫,默認版本為1.4,你可以通過項目屬性進行修改,最高支持到1.6,大概五月份左右會更新至2.0,API會翻倍,很期待!

Asp.net 用戶控件自定義控件註冊

scott 源文件 post add asc spa align 工具 不能 在ASPX頁中註冊用戶控件的方法 <%@ Register Src="ListPicker.ascx" TagName="ListPicker" TagPrefix="uc1" %>

ASP.NET線程下使用HttpContext.Current為null解決方案

sdn lower null com 獲取文件 .html 模擬 public 一個 問題一:多線程下獲取文件絕對路徑 問題一:多線程下獲取文件絕對路徑 當我們使用HttpContext.Current.Server.MapPath(strPath)獲取絕對路徑時H

ASP.NET Core 2.0 IHostEnvironmentIApplicationLifetime介紹

pat onstop cat clas alt 監控 gis 開發 class IHostEnvironment獲取程序信息 public void Configure(IApplicationBuilder app, IHostingEnvironment env)

C言中typedefsizeof的註意事項

isp sizeof spa 註意 list數據 對象 audio 應該 user typedef的作用是給一個數據類型起一個別名。 typedef struct LIST { int data; }SeqList; SeqList 就相當於struct LIS

Go言中PrintfPrintln

 1. Printf   如果是空字串,輸出了空字串的 雙引號 "" 例如 func variableZeroValue(){ var a int var s string fmt.Printf("%d %q\n", a, s) } 輸出結果

ASP.NET 環境下配置檔案web.config的靈活配置---轉

轉自:https://www.cnblogs.com/hugogoos/p/6426887.html 除錯,釋出Asp.net程式的時候,開發環境和釋出環境的Web.Config往往不同,比如connectionstring等。如果常常有除錯,釋出的需求,就需要常常修改web.config檔案,這往往是一件

ASP.NET個Button的頁面,回車執行按鈕事件(轉)

主要有兩種實現方法分別是:JavaScript的方法與Panel的方法 一、JavaScript的方法 ①單輸入框(文字框)單按鈕的實現方法   以下功能實現:在輸入框中輸入內容之後,按回車鍵就執行按鈕事件!  在.aspx頁面的Head區域中新增: <

ASP.NET MVC 獲取當前使用者ID

採用ASP.NET MVC提供的使用者驗證,可以用以下方法獲取使用者名稱和ID: // 使用者名稱 User.Identity.Name; System.Web.HttpContext.Current.User.Identity.Name; // ID User.Identity.GetUs

組合言中MOVOFFSET指令的兩個問題?

(1)往段暫存器送段地址時要寫成 MOV AX,DATA MOV DS,AX 不能寫成 MOV DS,DATA 這是為什麼?有人說由於段寄存只能進行16位的讀寫,因此需要用ax來倒一下,還有人說是因為段暫存器不能用於立即數定址,究竟哪個對呢?如果第二

ASP.NET實現檔案上傳下載

###### 本文的開發配置 ###### .NET版本:.NET Framework 4.0 開發環境:Microsoft Visual Studio 2013 瀏覽器:IE、Chrome、FireFox等都行   1、搭建網站結構 建立一個新的目錄

Asp.net Core2.0 快取 MemoryCache Redis

    自從使用Asp.net Core2.0 以來,不停摸索,查閱資料,這方面的資料是真的少,因此,在前人的基礎上,摸索出了Asp.net Core2.0 快取 MemoryCache 和 Redis的用法,並實現了簡單的封裝 那麼,先給出幾個參考

ASP.NET Core 中的會話應用狀態

原文地址:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/app-state?view=aspnetcore-2.1 作者:Rick Anderson、Steve Smith、Diana LaRose 和 Luke Latham

ASP.NET Core 2.0身份角色管理入門

目錄 介紹 身份驗證和授權 身份驗證 授權 背景 先決條件 使用程式碼 第1步:建立資料庫 第2步:建立ASP.NET Core  更新appsettings.json 步驟3:在Startup.cs檔案中新增Identity Service

C言中 malloc free

from:http://blog.sina.com.cn/s/blog_af1a77fa0102xceb.html 一、malloc()和free()的基本概念以及基本用法: 1、函式原型及說明: void *malloc(long NumBytes):該函式分配了NumBytes個位元

ASP.NET中關於資料匹配查詢的幾點研究(歡迎大神提供更精妙演算法)

相信下面這種情況在ASP.NET開發中會時常遇到:查詢DataTable_2中的某列資料是否全部出現在DataTable_1中,如果是,則提取部分資料,否則輸出提示。 如果是小資料量,任何的迴圈查詢都無所謂。如果大資料量,那就要講究方法了。本人糾結於這種匹配好久,弄了個測試程式。希望大神能夠