如何在aspx页面中将2个资源字符串连接在一起

时间:2009-11-19 12:32:31

标签: asp.net .net-2.0

我有一个本地化的ASP.net应用程序(.net 2.0)。我希望将从资源文件中检索到的2个字符串连接成一个元素,就像这样。

Text="<%$ Resources:Resource, lw_name %>" + <%$ Resources:Resource, lw_required %>"

我尝试过使用Eval但没有成功。我正在尝试做“正确”的方法,或者我可以在资源文件中存储带占位符的字符串并“动态”插入它们。

我试图在aspx文件中而不是在代码隐藏中执行此操作。

8 个答案:

答案 0 :(得分:10)

使用<%$ Something: Something Else %>的ASP.NET标记属性值具有称为ASP.NET Expressions的特殊语法。使用它们作为属性值几乎是全有或全无;没有办法在ASPX文件中添加任何代码来操纵那些表达式评估的内容。您必须在代码隐藏中执行此操作。

答案 1 :(得分:2)

我一直在寻找解决方案 这段代码适合我:

ToolTip='<%# Resources.Global.Btn_Edit + "/" + Resources.Global.Btn_contact %>'

答案 2 :(得分:0)

&LT; asp:HyperLink ToolTip ='&lt;%#“一些文字:”+ Eval(“id”)。ToString()%&gt;' ...... /&GT;

你的意思是这样的...... ToolTip ='...' - &gt;将您的返回值转换为STRING ...(xxxx.ToString())

像这样显示:Some Text:1234 - &gt;在工具提示

所以你应该在你的情况下做这样的事情: Text =“&lt;%$(资源:资源,lw_name).ToString()%&gt;” +&lt;%$(资源:资源,lw_required).ToString()%&gt;“

我不知道它是否会起作用但是尝试转换为ToString()。

答案 3 :(得分:0)

我知道你说你试过eval但是这样的事情呢:

Text ='&lt;%#string.Format(“{0} {1}”,Eval(“lw_name”),Eval(“lw_required”))%&gt;'

答案 4 :(得分:0)

我遇到了同样的问题,我通过使用此选项解决了这个问题:

Text="<%= HttpContext.GetGlobalResourceObject("Resource", "lw_name") %> <%= HttpContext.GetGlobalResourceObject("Resource", "lw_required") %>"

对于本地资源,请使用GetLocalResourceObject方法而不是GetGlobalResourceObject

答案 5 :(得分:0)

尝试 "@(Resources.ResourceString + Resources.ResourceString)"

答案 6 :(得分:0)

使用此方法在ASPX中附加2个字符串。

Text='<%# String.Format("{0} {1}", 
      Resources.file01.string1,Resources.file01.string2)%>'

答案 7 :(得分:0)

这可能会有所帮助

<asp:Label ID="Mylabel" runat="server">  
  
<%= "before Message String- "+ Resources.MyResources.Message +" -After Message String " %> 

</asp:Label>

请注意,串联不是在Text属性上,而是在label元素之间 完整的帖子可以在here

中找到