我有一个本地化的ASP.net应用程序(.net 2.0)。我希望将从资源文件中检索到的2个字符串连接成一个元素,就像这样。
Text="<%$ Resources:Resource, lw_name %>" + <%$ Resources:Resource, lw_required %>"
我尝试过使用Eval但没有成功。我正在尝试做“正确”的方法,或者我可以在资源文件中存储带占位符的字符串并“动态”插入它们。
我试图在aspx文件中而不是在代码隐藏中执行此操作。
答案 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
中找到