在Umbraco的ASP.NET 4.5 RC中请求验证

时间:2012-07-20 09:37:58

标签: asp.net .net umbraco .net-4.5 asp.net-4.5

我的ASP.NET 4.5 RC WebForms应用程序中有一个文本框,需要接受可能的HTML。

我已经研究过这个并且做了以下事情以允许这种情况发生: 在web.config中,我已经适当地设置了requestValidationMode和validateRequest。

<httpRuntime requestValidationMode="2.0" enableVersionHeader="false"/> 
<pages enableEventValidation="false" validateRequest="false">

在控件本身上,我添加了属性ValidateRequestMode =“Disabled”

<asp:TextBox ID="txtBio" runat="server" TextMode="MultiLine" Height="100" Width="300" ValidateRequestMode="Disabled" />

但是,我仍然收到错误:

  

从客户端

检测到潜在危险的Request.Form值

有没有人对我还能尝试的其他方法有任何其他想法?我认为这是ASP.NET 4.5 RC Web堆栈中的一个错误,但我可能错了。虽然因为我实际上是出于想法,但感觉就是这样。好像我现在已经轻弹了每一个开关。

另外,我更希望将requestValidation保留在除此项目之外的所有地方,但是,如果我可以完全关闭它,那将是一个好的开始。

非常感谢

1 个答案:

答案 0 :(得分:1)

尝试在页面顶部的属性中添加validateRequest="false",如下所示:

%@ Page Language="C#" AutoEventWireup="true" CodeBehind="page.aspx.cs" validateRequest="false" Inherits="Project.UI.page" %>

但请注意检查html是否有用户在验证关闭时可能添加的任何恶意脚本。

更新: 尝试将此添加到您的用户控件代码隐藏。

protected void Page_Init(object sender, EventArgs e)
{
    try
    {
        ((umbraco.UmbracoDefault)this.Page).ValidateRequest = false;
    }
    catch { }
}