0

ドロップダウンとボタンと 2 つのテキスト ボックスがある単純なアプリケーションを作成しました。最初のオプションを選択すると、テキストボックス1にテキストが入力され、ボタンをクリックすると、テキストボックス1のテキストが使用され、テキストボックス2に文が書き込まれます。ドロップダウンで別のオプションを選択すると、アプリケーションエラーが発生します。

私のコード:

protected void ddSelectOption_SelectedIndexChanged(object sender, EventArgs e)
    {
        string cp = "Optionone";
        if (ddSelectOption.SelectedValue == cp)
        {
            txtwrite.Text = "tagit";
        }
        else
        {
            txtwrite.Text = "dynamictag";
        }
    }

    protected void btnsubmit_Click(object sender, EventArgs e)
    {
        string cp = "Optionone";
        if (ddSelectOption.SelectedValue == cp)
        {
            txttag.Text =  "<u "+ txtwrite.Text + ">" + "hai </u>";
        }
        else
        {
            txttag.Text = "<u "+ txtwrite.Text + ">" + "hai </u>";            }
    }
}

誰でも私を助けることができます。

4

2 に答える 2

1

Asp.netは、HTML文字列を送信しようとしていることを警告しているようです(XSS攻撃を受けやすくなっています)。最初に入力をサニタイズする必要があります。たとえば、タグを削除してから続行するか、問題がないことが確実な場合は、次の設定を使用してリクエストの検証をオフにすることができます。

validateRequest = false;

これが.Net4.0の場合、これを使用する必要があります。

<httpRuntime requestValidationMode="2.0" />

page4.0がディレクティブを解析する前にリクエスト検証を実行するときに、古い2.0検証モードを使用するように強制します 。

于 2012-08-08T11:31:43.830 に答える
0

これを試して:

if (ddSelectOption.SelectedValue!=null)
if (ddSelectOption.SelectedValue.ToString() == cp)
...

すべてがうまくいくでしょう。

于 2012-08-08T10:57:07.913 に答える