2011-11-15 90 views
3

在我的asp.net網站,我創建用戶的細節,如果假設用戶的姓氏是 Sam's然後當我編輯用戶在文本框中的顯示是Sam's但數據庫是存儲爲山姆,當我只是嘗試薩姆'當時的我得到的錯誤如下更新的名字,我應該如何在文本框中顯示名稱txt_EditLastName.Text = gvrow.Cells[2].Text;如何允許在asp.net網站撇號

A potentially dangerous Request.Form value was detected from the client (ctl00$MainContent$txt_EditLastName="Sam's"). 
+1

「asp標籤描述」中的「不要使用這個標籤」的哪部分你不明白? –

+0

這是ASP.net MVC?它看起來不像。 – Dismissile

回答

3

我得到這個錯誤,因爲Visual Studio 2010增加了一點安全性。要解決此問題,您需要將ValidateRequest="false"添加到頁面指令中,或者在web.config文件中添加<pages validateRequest="false" />。我首先把它放在了錯誤的地方,所以請確保你把它放在web.config文件的<system.web>區域。

此鏈接將有所幫助。 http://www.cryer.co.uk/brian/mswinswdev/ms_vbnet_server_error_potentially_dangerous.htm

+4

+1:好的答案,但爲了保護自己,你應該解釋一下,上述方法確實犧牲了一些安全性。 –

+0

是的,你是對的。在我的網站中,這並不重要,因爲只有我公司的人員使用安全性較低的網頁。如果@約翰確定他的網站不太安全,那麼這是一個非常簡單的解決方案。 – jlg

+0

但我不想讓文本框顯示山姆'它必須顯示爲山姆的 – John

2

我用了一個查找和`

' - Apostrophe 
` - Grave Accent 

的「更換重音符號的外觀相同,並且可以存儲在SQL數據庫中不搞亂起來。 嚴重重音通常位於鍵盤上的Tab鍵上方,位於數字的左側。

希望這會有所幫助。

+0

適合我!但是,仍然不知道Grave Accent如何爲撇號工作。 – usefulBee