2011-02-23 26 views
2

我一直在使用<asp:Literal runat="server" meta:resourcekey="Blah" />用在翻译的字符串App_LocalResources文件目录RESX文件,但如果我的钥匙,是Blah.Text“输入{0}类”,我将如何传递参数在此背景下,以取代{0}?将格式化的本地化字符串添加到ASP.NET页面的最佳方法?

我知道我可以使用<%=string.Format(...,但似乎不干净,我不能访问本地资源的方式。我应该为这个用例做些什么?

回答

4

标记的一个例子:通过使用GetLocalResourceObject方法

Blah.Text = string.Format(
    "Enter the {0} category", 
    GetLocalResourceObject("Blah").ToString() 
); 

<asp:Literal runat="server" ID="Blah" /> 

从后面的代码。

+1

如果你想让你的声明样式,创建文字控制的衍生版本,并添加2个属性给它 - formatString的和值。在渲染,文字会写的String.Format(this.FormatString,THIS.VALUE)的输出。非常简单的控制,它可以让你仍然使用你的声明式赋值。 – Tony 2011-02-23 18:51:20

+1

我相信,这个例子应该是 Blah.Text = string.Format( GetLocalResourceObject(“Blah.Format”)。ToString(),paramCategory ); 其中英语资源价值将是“输入{0}类别” – 2011-06-26 10:35:59

相关问题