2011-02-11 34 views
2

我正在使用JQuery.ajax & C#編寫內容管理系統。 JQuery調用一個httpHandler並從html編輯器JQuery插件中提取html。允許用戶將html字符串POST到一個httpHandler

我在處理程序中發現有關不安全內容(基本上是html)的錯誤,但我不想關閉整個頁面的驗證,只是處理程序(處理程序是網頁控件而不是頁面的一部分)。

那麼,是否可以關閉一個處理程序的驗證?或者我需要在客戶端上編碼html嗎?

在我去客戶端上的編碼在HTML-encoding lost when attribute read from input field

結束,但我仍然有興趣在意見這一做法

回答

2

我認爲這是ASP.NET 4.0中的一個新特性/問題。在此之前,他們只請求驗證實際的aspx頁面,而不是處理程序。

因此,你可以在你的web.config中改變下面的設置,使其像2.0一樣,然後你的頁面仍然會驗證,但處理程序(它們中的任何一個)將不再使用請求驗證。

<httpRuntime requestValidationMode="2.0" />

Here's the page約在4.0這一變化信息。

1

你可以嘗試禁用請求驗證用於在web.config中這個特殊的處理程序:

<httpHandlers> 
    <add path="foo.ashx" type="Foo.MyHandler" verb="*" validate="false" /> 
</httpHandlers> 
+0

我試過這種方法,它的劑量有所不同。我在某處讀到此設置未與驗證後相關 – 2011-02-11 22:08:47