クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
Web サイトのカスタマイズ
 方法 : プログラムでリソース値を取得する

  低帯域幅での表示をオンにする
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
ASP.NET
方法 : プログラムでリソース値を取得する

宣言構文を使用すると、ASP.NET サーバー コントロール プロパティの値をリソース値に設定できます。この代わりに、プログラムによってリソース値を取得することもできます。プログラムによる方法は、デザイン時にリソースの値が不明である場合や、実行時の条件に基づいてリソースの値を設定する場合に使用します。

リソース値は、ローカル リソース ファイルとグローバル リソース ファイルの両方から取得できます。それには、適切な型にキャストできるオブジェクトを返すメソッドを使用します。ASP.NET は厳密な型指定でグローバル リソースをコンパイルするため、厳密に型指定されたメンバを使用してグローバル リソースを取得することもできます。

プログラムでリソース値を取得するには

  • GetLocalResourceObject メソッドまたは GetGlobalResourceObject メソッドを呼び出し、特定のリソースをグローバル リソース ファイルまたはローカル リソース ファイルからそれぞれ読み取ります。これらのオーバーロードされたメソッドは、HttpContext クラスおよび TemplateControl クラスで使用できます。

    GetGlobalResourceObject メソッドは、リソース クラスの名前およびリソース ID を取得します。このクラス名は、.resx ファイル名に基づいています。たとえば、ファイル WebResources.resx およびそれに関連するすべてのローカライズされたファイルは、クラス名 WebResources で参照されます。

    GetLocalResourceObject メソッドは、ResourceKey プロパティを表すリソース名を取得します。

    ローカル リソース ファイルおよびグローバル リソース ファイルからリソースの値を取得する方法のコード例を次に示します。このメソッドはオブジェクトを返すため、そのリソースを適切な型にキャストする必要があります。

    特殊な App_LocalResources フォルダに格納されるローカルの既定のリソース ファイルには、ASP.NET ページに従って名前が付けられます。たとえば、Default.aspx ページで次のコードを使用すると、リソース ファイルに Default.aspx.resx という名前が付けられます。この例では、値 "Found Resources" を持つ Button1.Text という名前の文字列リソースがこのファイルに追加されます。

    またこの例では、特殊な App_GlobalResources フォルダに格納されるグローバルの既定リソース ファイルに、WebResourcesGlobal.resx という名前が付けられます。値 http://go.microsoft.com/fwlink/?LinkId=49295 または別のイメージの URL を持つ LogoUrl という名前の文字列リソースが追加されます。

    Visual Basic
    <%@ Page Language="VB" %>
    
    <script runat="server">
        Protected Sub Button1_Click( _
            ByVal sender As Object, ByVal e As System.EventArgs)
            Button1.Text = _
                GetLocalResourceObject("Button1.Text").ToString()
            Image1.ImageUrl = _
                CType(GetGlobalResourceObject("WebResourcesGlobal", _
               "LogoUrl"), String)
            Image1.Visible = True
        End Sub
    </script>
    
    <html  >
    <head runat="server">
        <title>Untitled Page</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" 
                OnClick="Button1_Click" 
                Text="Get Resources" />
            <asp:Image ID="Image1" runat="server" 
                Visible="false" />
        </div>
        </form>
    </body>
    </html>
    
C#
<%@ Page Language="C#" %>

<script runat="server">
    protected void Button1_Click(object sender, EventArgs e)
    {
        Button1.Text = 
            GetLocalResourceObject("Button1.Text").ToString();
        Image1.ImageUrl = 
            (String)GetGlobalResourceObject(
            "WebResourcesGlobal", "LogoUrl");
        Image1.Visible = true;
    }
</script>

<html  >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" 
            OnClick="Button1_Click" 
            Text="Get Resources" />
        <asp:Image ID="Image1" runat="server" 
            Visible="false" />
    </div>
    </form>
</body>
</html>

厳密な型指定を使用してグローバル リソースを取得するには

  • 次の構文を使用してリソースを取得します。

                Resources.Class.Resource

    リソースは名前空間 Resources にコンパイルされ、それぞれの既定のリソースが Resources クラスのメンバになります。たとえば、既定のリソース ファイル WebResources.resx を作成し、そのファイルに WelcomeText という名前のリソースを格納すると、次に示すコード例のコードでそのリソースを参照できます。

    Visual Basic
    Dim welcome As String
    welcome = Resources.WebResources.WelcomeText
    
C#
String welcome;
welcome = Resources.WebResources.WelcomeText;

参照

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2009 Microsoft Corporation. All rights reserved. 使用条件  |  商標  |  プライバシー
Page view tracker