我正在开发一个ASP.NET WebForms应用程序。客户端通过excel宏创建一个xml字符串。他/她希望将此xml复制粘贴到多行文本框中的应用程序中。在单击按钮时,需要解析xml并将其插入到单词模板中。我之前没有使用xml,我不确定是否可以这样做。忘掉这样做的冗余。这是业务请求。我建议将xml放入文件并使用文件上传控件,我可以加载xml并将其插入到word中。
我可以对此使用一些帮助。最初我尝试过:
ASPX
<asp:TextBox ID="XMLTxt" runat="server" TextMode="MultiLine"></asp:TextBox>
<asp:Xml ID="XMLComp" runat="server" ></asp:Xml><br />
<asp:Button ID="XMLBtn" runat="server" Text="Parse XML" OnClick="XMLBtn_Click"/>
在后面的代码中,我还没有在XMLBtn_Click方法中添加任何内容。 我在想,当我在文本框中复制xml并单击按钮时, 因为我在方法中没有任何东西,所以它不应该做任何事情。
但是我收到此错误:
从客户端检测到一个潜在危险的Request.Form值(LoginView1 $ XMLTxt =&#34;
所以我倾向于认为这样做不可行,我需要做的不同。
我想要的是当我点击按钮时,所有的xml都会进入一个字符串,我可以附加到我的word文档中,希望这些数据能够在word文档中正常显示。但我很确定这是一段很长的时间,而且我错过了一些信息。
如果有人这样做了,请告诉我我做错了什么。
谢谢!
答案 0 :(得分:1)
ASP.NET验证表单数据以防止XSS注入。由于XML文档包含<
和>
符号,因此它不会通过验证。有关详细信息,请参阅A potentially dangerous Request.Form value was detected from the client。
一般情况下,我建议您不要禁用单个页面的验证,因为它会在您的网站安全性中打开一个大洞。我建议您在提交表单之前对特定符号进行编码(例如,在onsubmit事件中)。然后在客户端解码并保存到文档中。
或者,您可以为最终用户提供将XML直接插入文档的功能。例如,第三方RichEdit 控件允许在线编辑。