HOW TO:加入 Localize Web 伺服器控制項至 ASP.NET Web 網頁 (Visual Studio)
更新:2007 年 11 月
當您想要在網頁的特定區域中顯示當地語系化的文字時,可以將 Localize Web 伺服器控制項加入 ASP.NET Web 網頁。Localize 控制項與 Literal Web 伺服器控制項相同,且和 Label Web 伺服器控制項類似。雖然 Label 控制項允許您將樣式套用至顯示的文字,但 Localize 控制項不允許。您可以藉由設定 Text 屬性 (繼承自 Literal 控制項),以程式設計方式控制 Localize 控制項中顯示的文字。如需詳細資訊,請參閱Literal Web 伺服器控制項概觀。
若要將 Localize Web 伺服器控制項加入至 ASP.NET Web 網頁
從 [工具箱] 的 [標準] 索引標籤,將 Localize 控制項拖曳到網頁上。
另一個方法是,將 Mode 屬性設為 Transform、PassThrough 或 Encode。Mode 屬性指定控制項如何處理要加入其中的標記 (Markup)。如需詳細資訊,請參閱 Localize Web 伺服器控制項概觀。
在執行階段,將程式碼加入至您的網頁以設定控制項的 Text 屬性。
以下範例說明如何利用程式設計方式來設定 Localize 控制項的文字和編碼。這個網頁所包含的選項按鈕,允許使用者在編碼文字與傳遞文字之間進行選擇。
如需使用資源字串的程式碼範例,請參閱 Localize Web 伺服器控制項宣告式語法。
注意事項:
如果您將 Text 屬性設定為從未受信任的來源所取得的文字,將控制項的 Mode 屬性設定為 Encode,則標記便不會是可執行的。
<%@ Page Language="VB" %> <script > Protected Sub Page_Load(ByVal sender As Object, _ ByVal e As System.EventArgs) Localize1.Text = "This <b>text</b> is inserted dynamically." If radioEncode.Checked = True Then Localize1.Mode = LiteralMode.Encode ElseIf radioPassthrough.Checked = True Then Localize1.Mode = LiteralMode.PassThrough End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" > <title>Untitled Page</title> </head> <body> <form id="form1" > <div> <br /> <asp:RadioButton ID="radioEncode" GroupName="LocalizeMode" Checked="True" Text="Encode" AutoPostBack="True" /> <br /> <asp:RadioButton ID="radioPassthrough" GroupName="LocalizeMode" Text="PassThrough" AutoPostBack="True" /> <br /> <br /> <asp:Localize ID="Localize1" ></asp:Localize> </div> </form> </body> </html>
<%@ Page Language="C#" %> <script > protected void Page_Load(object sender, EventArgs e) { Localize1.Text = "This <b>text</b> is inserted dynamically."; if (radioEncode.Checked == true) { Localize1.Mode = LiteralMode.Encode; } if(radioPassthrough.Checked == true) { Localize1.Mode = LiteralMode.PassThrough; } } </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" > <title>Untitled Page</title> </head> <body> <form id="form1" > <div> <br /> <asp:RadioButton ID="radioEncode" GroupName="LocalizeMode" Checked="True" Text="Encode" AutoPostBack="True" /> <br /> <asp:RadioButton ID="radioPassthrough" GroupName="LocalizeMode" Text="PassThrough" AutoPostBack="True" /> <br /> <br /> <asp:Localize ID="Localize1" ></asp:Localize> </div> </form> </body> </html>