文本框验证强制错误

本文关键字:错误 验证 文本 | 更新日期: 2023-09-27 18:15:18

Vista, visual web developer express 2010, c#, asp.net, webforms。按ctrl-F5运行程序。我是唯一能管理这个项目的人……而且它只能在我的笔记本电脑上使用本地数据库运行。

编写应用程序下载网页,查看他们,(做一些分析),记录一些结果。我发现代码下载页面-工作良好。然后将文本框的text属性设置为页面的字符串内容。这部分也是有效的。然后我再次运行代码,但是文本框的内容得到验证并导致错误消息。

A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$tbPageContents="
<!DOCTYPE HTML PUBLI..."). 

我可以一遍又一遍地运行代码,没有问题——只要我不把结果显示在文本框中。我尝试了几个不同的解决方案:

  1. 我在文本框中尝试启用="false"属性…这允许我查看代码的第一部分,但由于文本框未启用,我无法上下滚动并查看文件。所以这并不能真正解决问题。

  2. 我尝试在页面指令和系统中设置validateRequest="false"。网站(根据http://www.asp.net/learn/whitepapers/request-validation),但到目前为止,我可以告诉它没有效果。也就是说,我仍然得到错误。

  3. 我尝试使用html编码字符串内容之前,我把它们放入文本框。这在显示器上是可行的……

  4. 我想捕获错误并忽略它,但验证似乎发生在执行我的代码之前。

我实际上不必将页面打印到窗口来进行分析,但如果我可以一次或片段地查看这些东西,那将非常有帮助。我可以在浏览器中做一个页面源。我不确定……也许这是最好的解决方案。

我真的很惊讶选项#2不起作用,因为这似乎是推荐的解决方案。

下面是我使用的page指令:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
    CodeBehind="Default.aspx.cs" Inherits="wan._Default" validateRequest="false" %>

是否还有其他需要做的事情来停止validateRequest?

文本框验证强制错误

你也应该在你的网页中使用<httpRuntime requestValidationMode="2.0" />。配置文件。这指示ASP。. NET将其验证模式更改为2.0版本。

你可能也喜欢看这个问题

如果这是。net 4,你可能还需要将<httpRuntime requestValidationMode="2.0" />添加到你的web.config