1

私は探していて、C# から ASPX ページのタグに値を取得する方法を理解できません。いくつかのオプションを試しましたが、どこにも行きません。

私のaspページが読み込まれると、ページのURLからqueryStringを使用して値が取得されます(つまり、 mypage.aspx?app=safety )。次に、スイッチを実行して、ページで使用する画像のURLを見つけます。

つまり、「名前 'img_small' は現在のコンテキストに存在しません」というコンパイル エラーが発生します。以下の私のコードについてどう思いますか? 何が欠けているのかわかりません!

C#:

protected void Page_Load(object sender, EventArgs e)
{
    string img_small;

    String appName = Request.QueryString["app"];

    switch (appName)
    {
        case "safety":
            img_small = "safety-logo.png";
            break;

        case "files":
            img_small = "files-logo.png";
            break;

        case "drawings":
            img_small = "drawings-logo.png";
            break;

        case "specs":
            img_small = "specs-logo.png";
            break;

        default:
            img_small = "idms-logo.png";
            break;
    }
}

HTML:

<img src='"<%=img_small%>"' />
4

2 に答える 2

5

img_smallの外には存在しませんPage_Load

を含むクラス内のどこからでもアクセスできるようにするには、少なくともその名前の内部フィールドを使用する必要があります.aspx

public string img_small;

protected void Page_Load(object sender, EventArgs e)
{
   ....
于 2013-01-08T20:24:34.450 に答える
2

は関数img_smallのローカル変数でありPage_Load、この関数の外には存在しないためです。これが、このエラーが発生する理由です。

変更するように提案しました

<img src='"<%=img_small%>"' />

<asp:Image ID='imgImage' runat='server' />

そして、Page_Load関数の一番下で

imgImage.ImageUrl = img_small;
于 2013-01-08T20:27:35.333 に答える