C# 为单标签.Net合并两个资源键
为了使现有的网站多语言,我遵循全球化技术,我已经为不同的内容创建了3个资源文件,如标签和标题文本文件,网格标题文本文件等。。。 现在我在不同的资源文件中有两个关键字,即Email和Message,在第三个位置,我想同时显示这两个关键字,即Email Message。我是否需要创建第三个键,或者我可以连接已有的键。目前我使用以下两个代码C# 为单标签.Net合并两个资源键,c#,asp.net,sql,visual-studio-2010,C#,Asp.net,Sql,Visual Studio 2010,为了使现有的网站多语言,我遵循全球化技术,我已经为不同的内容创建了3个资源文件,如标签和标题文本文件,网格标题文本文件等。。。 现在我在不同的资源文件中有两个关键字,即Email和Message,在第三个位置,我想同时显示这两个关键字,即Email Message。我是否需要创建第三个键,或者我可以连接已有的键。目前我使用以下两个代码 For showing directly on page: HttpContext.GetGlobalResourceObject("ResourceLabelB
For showing directly on page:
HttpContext.GetGlobalResourceObject("ResourceLabelButton", "Email")
For showing as text of any control like Textbox, label:
Text ="<%$ Resources:ResourceContent, Email %>"
用于直接显示在页面上:
HttpContext.GetGlobalResourceObject(“ResourceLabelButton”,“电子邮件”)
用于显示任何控件(如Textbox)的文本,标签:
Text=“”
我可以在.cs页面上连接两个资源字符串,但这会增加时间线,所以请建议我只能在.aspx页面上更改
提前感谢如果经常使用此值,请为其生成第三个键,否则在运行时连接您应该为“电子邮件”创建单独的资源条目,而不是连接“电子邮件”和“消息”。要了解原因,请看西班牙语:
- 电子邮件=Correo Electroónico
- 消息=Mensaje
- 电子邮件=Mensaje de correo electroónico
- 新消息=Mensaje nuevo
- 最后一条消息=阿尔蒂莫·门萨耶
始终为每个短语提供单独的资源条目。使用的ASP.NET标记属性值具有一种称为的特殊语法。将它们用作属性值几乎是全部或全部;无法向ASPX文件中添加任何代码来操作这些表达式的计算结果。您必须在代码隐藏中执行此操作。我遇到了相同的问题,我使用此选项解决了此问题:
<asp:Label id="lbl1" runat="server" Text="Email: <%= HttpContext.GetGlobalResourceObject("ResourceContent", "Email") %>">
对于本地资源,请使用
GetLocalResourceObject
方法,而不是GetGlobalResourceObject
尝试以下代码
<asp:Label ID="lblNameAndNos" runat="server">
<%= ""+ Resources.Resources.Name + "/" + Resources.Resources.Nos %>
</asp:Label>
不使用内部文本属性,而是使用上述方式如何在运行时连接?您可以在.cs中进行连接,但我不知道如何在全局资源的aspx页面中进行连接,不确定在何处,但我以前在某个地方读到过这是一个已知的全球化问题