加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 带有格式化文本字段的标签/文字控件

发布时间:2020-12-15 17:25:07 所属栏目:百科 来源:网络整理
导读:我发现使用string.format可以使用变量信息填充资源字符串,如下所示: String.Format(Resources.Temp.TempString,Resources.Contact.PhoneSales) 我可以使用以下方式在我的页面上显示: p%= String.Format(Resources.Temp.TempString,Resources.Contact.Phone
我发现使用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属性.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读