2012-07-20 98 views
1

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

我已经研究了这一点,并已完成以下操作以允许发生这种情况: 在web.config中,我已经设置了requestValidationMode和validateRequest。在控制本身我已经添加的属性ValidateRequestMode = “已禁用”

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

然而

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

,我仍然得到错误:

A potentially dangerous Request.Form value was detected from the client

有没有人有任何其他想法我还能尝试什么?我认为这是ASP.NET 4.5 RC Web堆栈中的一个错误,但我可能是错误的。这种感觉虽然我完全没有想法。好像我现在已经轻触了每个开关。

另外,我宁愿在除了这个项目之外的任何地方留下requestValidation,但是,如果我可以关闭它,那将是一个好的开始。

非常感谢

回答

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 { } 
} 
+0

对不起,这是一个Umbraco安装,没有网页。只需掌握页面和动态插入的用户控件:-( – krisdyson 2012-07-20 09:46:41

+0

@Boomerangertanger那么这是我唯一的想法xD但是,你应该用标记'Umbraco'重新提出你的问题,以便有类似问题的人可以帮助你。它.. – formatc 2012-07-20 09:52:33

+0

@Boomerangertanger你可以试试我发布的代码吗? – formatc 2012-07-20 10:03:25