Vista,视觉网络开发人员快递 2010,c#,asp.net,webforms。使用 ctrl-F5 运行程序。我是唯一一个会运行这个程序的人......而且它只会在我的笔记本电脑上使用本地数据库运行。
编写应用程序来下载网页,查看它们,(做一些分析),记录一些结果。我找到了下载页面的代码 - 效果很好。然后我将文本框的文本属性设置为页面的字符串内容。那部分也有效。然后我再次运行代码,但文本框的内容得到验证并导致错误消息。
A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$tbPageContents="
<!DOCTYPE HTML PUBLI...").
我可以一遍又一遍地运行代码而不会出现问题——只要我不在文本框中显示结果。我尝试了几种不同的解决方案:
我在文本框中尝试了 enabled="false" 属性...这使我可以查看代码的第一部分,但是由于未启用文本框,因此我无法上下滚动并查看文件。所以这并不能真正解决问题。
我尝试在页面指令和 system.web 中设置 validateRequest="false" (根据http://www.asp.net/learn/whitepapers/request-validation),但据我所知它没有效果. 也就是说,我仍然得到错误。
在将字符串内容放入文本框之前,我尝试使用 html 编码字符串内容。这适用于显示器......但它不能解决它在问题的下一次迭代中失败的问题。
我想过捕获错误并忽略它,但验证似乎发生在它执行我的代码隐藏之前。
我实际上不必将页面打印到窗口来进行分析,但如果我可以一次查看这些内容或以片段的形式查看这些内容,那将非常有帮助。我可以从浏览器做一个页面源。我不确定......也许这是首选的解决方案。
我真的很惊讶选项 #2 不起作用,因为这似乎是推荐的解决方案。
这是我使用的页面指令:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="wan._Default" validateRequest="false" %>
是否需要做其他事情来停止 validateRequest?