2012-07-20 78 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