1

当我在页面最初加载后执行以下代码时,我没有收到错误,但是当我更改下拉列表的值ddlMode并再次执行时,我收到错误:

A potentially dangerous Request.Form value was detected from the client (txtXML="<Root...").

我做了 SecurityElement.Escape 并修复了它,但它显示了转义的 XML,我不想像这样显示它。这是按钮单击事件中的相关代码:

XElement xml = new XElement("Root",
                    new XAttribute("T", "Test"),
                    new XAttribute("S", ddlMode.SelectedValue),
                    new XAttribute("E", Guid.NewGuid().ToString()),
                    new XAttribute("F", DateTime.Now.ToLongTimeString()),
                    new XElement("HRS",
                        new XElement("HR",
                            new XElement("RP"),
                            new XElement("RSS",
                                new XElement("RS",
                                    new XElement("PN",
                                        new XElement("GV", txtFirstName.Text),
                                        new XElement("SN", txtLastName.Text)))))));


            txtXML.Text = xml.ToString();
4

1 回答 1

0

假设 ddlMode 将 AutoPostback 设置为 true。你最好做

txtXML.Text = HttpUtility.HtmlEncode(xml.ToString());

这将正确编码诸如被解释为恶意标记的左右尖括号之类的内容。

于 2012-06-27T01:10:41.217 回答