次の方法で共有


方法 : Localize Web サーバー コントロールを ASP.NET Web ページに追加する (Visual Studio)

更新 : 2007 年 11 月

Localize Web サーバー コントロールを ASP.NET Web ページに追加して、ページ上の特定の領域にローカライズされたテキストを表示できます。Localize コントロールは、Literal Web サーバー コントロールと同じで、Label Web サーバー コントロールと似ています。Label コントロールでは、表示されるテキストにスタイルを適用できますが、Localize コントロールではスタイルを適用できません。Localize コントロール内に表示されるテキストをプログラムで制御するには、Literal コントロールから継承された Text プロパティを設定します。詳細については、「Literal Web サーバー コントロールの概要」を参照してください。

ASP.NET Web ページに Localize Web サーバー コントロールを追加するには

  1. ツールボックスの [標準] タブから、Localize コントロールをページにドラッグします。

  2. Mode プロパティを TransformPassThrough、または Encode に設定することもできます。Mode プロパティは、追加したマークアップをコントロールがどのように処理するかを指定します。詳細については、「Localize Web サーバー コントロールの概要」を参照してください。

  3. 実行時にコントロールの Text プロパティを設定するコードをページに追加します。

    Localize コントロールのテキストおよびエンコーディングをプログラムで設定する方法を次のコード例に示します。ページには、エンコードされたテキストとパススルー テキストをユーザーが選択できるオプション ボタンが含まれています。

    リソース文字列を使用するコード例については、「Localize Web サーバー コントロールの宣言構文」を参照してください。

    ms247231.alert_note(ja-jp,VS.90).gifメモ :

    Text プロパティに信頼関係のないソースから取得したテキストを設定する場合は、マークアップが実行されないように、コントロールの Mode プロパティを Encode に設定します。

    <%@ Page Language="VB" %>
    <script runat="server">
        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" runat="server">
        <title>Untitled Page</title>
      </head>
      <body>
        <form id="form1" runat="server">
          <div>
            <br />
            <asp:RadioButton 
              ID="radioEncode" 
              runat="server"
              GroupName="LocalizeMode" 
              Checked="True" 
              Text="Encode" 
              AutoPostBack="True" />
            <br />
            <asp:RadioButton 
              ID="radioPassthrough" 
              runat="server" 
              GroupName="LocalizeMode" 
              Text="PassThrough" 
              AutoPostBack="True" />
            <br />
            <br />
            <asp:Localize ID="Localize1" runat="server"></asp:Localize>
          </div>
        </form>
      </body>
    </html>
    
    <%@ Page Language="C#" %>
    <script runat="server">
        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" runat="server">
        <title>Untitled Page</title>
      </head>
      <body>
        <form id="form1" runat="server">
          <div>
            <br />
            <asp:RadioButton 
              ID="radioEncode" 
              runat="server"
              GroupName="LocalizeMode" 
              Checked="True" 
              Text="Encode" 
              AutoPostBack="True" />
            <br />
            <asp:RadioButton 
              ID="radioPassthrough" 
              runat="server" 
              GroupName="LocalizeMode" 
              Text="PassThrough" 
              AutoPostBack="True" />
            <br />
            <br />
            <asp:Localize ID="Localize1" runat="server"></asp:Localize>
          </div>
        </form>
      </body>
    </html>
    

参照

概念

Localize Web サーバー コントロールの概要

参照

Localize Web サーバー コントロールの宣言構文

Localize