我发现,这是可能的填充用的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”)%>'。
UPDATE:
我发现其中一些控制有效的解决方案:
<asp:Label runat="server" ID="temp"><%= String.Format(Resources.Temp.TempString, Resources.Contact.PhoneSales) %></asp:Label>
然而,这个工程的文字控制不工作,因为他们不允许子控件。我更愿意继续使用Literal,因为它们在代码生成方面是最干净的,所以仍然在寻求解决方案。
http://stackoverflow.com/questions/9382559/asp-net-expressions-inline-tag-with-string-format/9383420 – 2012-04-03 13:27:06
为什么不简单地添加'Literal1.Text = GetGlobalResourceObject(“Messages” ,“ThankYouLabel”)'在你的代码隐藏文件中? – Candide 2012-04-03 13:29:34
Ingenu - 我想过这个。我没有尝试过,但我猜它会起作用。然而,我反对将代码应用于背后的想法,不知道为什么,保持文本数据和编程分开的可能性(即使我要求的是前端编程)。 – Chris 2012-04-03 13:32:28