2

我的ASP.NET頁面有一些HTML代碼:如何給asp:本地化本地化文本?

Default.aspx的

<h2><asp:Localize meta:resourcekey="lblTitle" Text="Welcome to so" runat="server"></h2> 

現在我要本地化的文本。所以我創建了一個資源文件Default.aspx.resx。下面的例子MicrosoftMicrosoftMicrosoftCodeProject,並Stackoverflow我創建lblTitle.Text條目:

enter image description here

除小紅錯誤指示燈的提示說,

資源名稱「lblTitle。文本「不是有效的標識符。

我如何本地化與asp:Localize?我如何本地化與meta:?我如何創建一個resx?


更新:更名App_GlobalResourcesApp_LocalResources

enter image description here

的Web.config(部分):

<system.web> 
     <compilation debug="true" targetFramework="4.0"/> 

更新2:我不明白的是,我是按照說明on MSDN:通過使用資源編輯

  1. 在Solution Explorer中

    要編輯的資源文件,打開Sample.aspx.resx。

    資源編輯器值以下,是爲您放置到頁面控件的每個 的文本性能。在這裏更改值 將更改默認文化的值。

  2. ButtonResource1.Text編輯英語課文

  3. 保存文件。

我也試過

  • lblTitle。文字
  • lblTitleText
  • lblTitle_Text
  • lblTitle
  • lblTitleText
+0

我更新了我的答案,應該像現在描述的那樣工作,我測試了它。 :) – magnattic

回答

2

你做的一切都是對的,但把你的ressource文件中的錯誤的文件夾。使用App_LocalResources而不是App_GlobalResources

對本地和全球的ressource文件之間的差異的詳細信息請參見MSDN

本地資源文件是一個僅適用於一個ASP.NET頁面或用戶控件(一個ASP.NET文件具有.aspx,.ascx或.master的文件擴展名)。您將本地資源文件放在具有保留名稱App_LocalResources的文件夾中。與根App_GlobalResources文件夾不同,App_LocalResources文件夾可位於應用程序中的任何文件夾中。您可以使用資源文件的名稱將一組資源文件與特定網頁相關聯。

+0

我不能做一切正確的,因爲它仍然抱怨'lblTitle.Text'? –

+0

您是否將Default.aspx.resx移至App_LocalRessources?對我來說,這使得警告消失。你正在使用.NET 4.0,對吧? – magnattic

+0

是的;我用web.config中的相關片段更新了問題,顯示了定位「4.0」。 –