2011-02-23 27 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

相關問題