0

我创建了一个简单的应用程序,其中有一个下拉菜单、一个按钮和两个文本框。当我选择第一个选项时,它应该在 textbox1 中填充一个文本,然后单击按钮,它应该使用 textbox1 文本并在 textbox2 中写一个句子。现在,当我在下拉列表中选择另一个选项时,它会给出应用程序错误。

我的代码:

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;

如果这是 .Net 4.0,则必须使用:

<httpRuntime requestValidationMode="2.0" />

page强制它使用旧的 2.0 验证模式,因为 4.0 在解析指令之前执行请求验证 。

于 2012-08-08T11:31:43.830 回答
0

试试这个:

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

一切都会变好。

于 2012-08-08T10:57:07.913 回答