如何给asp:本地化本地化文本?

问题描述:

我的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

你做的一切都是对的,但把你的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”。 –