c# – 带有格式化文本字段的标签/文字控件
我发现使用string.format可以使用变量信息填充资源字符串,如下所示:
String.Format(Resources.Temp.TempString,Resources.Contact.PhoneSales) 我可以使用以下方式在我的页面上显示: <p><%= String.Format(Resources.Temp.TempString,Resources.Contact.PhoneSales) %></p> 在某些情况下,我有一个Label或Literal(或任何控件)可能会动态隐藏或显示内容.通常我会填充使用: <asp:Literal ID="Literal1" Text="<%$Resources:Temp,ContactUs %>" runat="server" /> 我现在想要使用相同的String.Format功能,同时仍然使用控件.我找到了Display value of Resource without Label or Literal control,但这对我来说实际上并不起作用,只是写出’<%= GetGlobalResourceObject(“Messages”,“ThankYouLabel”)%>‘在页面上(不是内容,实际的字符串). 更新: 我找到了一个适用于某些控件的解决方案: <asp:Label runat="server" ID="temp"><%= String.Format(Resources.Temp.TempString,Resources.Contact.PhoneSales) %></asp:Label> 但是,这项工作对Literal控件不起作用,因为它们不允许子控件.我更喜欢继续使用Literal,因为它们在代码生成方面是最干净的,因此仍在寻求解决方案. 解决方法
asp:Literal不支持<%=%>构造,并且不允许子控件(我的意思是像< asp:Literal runat =“server”><%= ...%>< / asp:Literal>).
但是如果你使用数据绑定,你可以使用data-binding expresions<%#...%>: <asp:Label runat="server" Text="<%# string.Format(...) %>"></asp:Label> 要使其工作,您应确保使用控件的隐式或显式数据绑定.否则这样的控制没有绑定输出任何东西. 这种解决方法有点复杂.考虑使用asp:Label控件,或者从后面的代码中设置Text属性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |