2014-02-18 54 views
4

我創建了一個客戶端插入表單,在這個表單中有一個名爲Id的<asp:HiddenField/>用於保存選定的客戶端ID,但是當我嘗試提交表單時,它出現在Page enableEventValidation="true"錯誤,當我重命名HiddenField任何其他標識,它的工作頁面enableEventValidation =「true」錯誤

<asp:HiddenField runat="server" ID="Id" /> 

當我設置enableEventValidation =「假」我的表單可以提交成功,但也許我會需要它在未來

如何我可以解決這個問題呢?保持HiddenField命名Id

PRINTSCREEN: error message screen

回答

3

你幾乎回答了你自己的問題。使這項工作的唯一方法是設置enableEventValidation="false"或重命名HiddenField

重命名,將在這裏是最好的解決方案,爲安全起見

+0

歐凱,但爲什麼我不能爲控制命名 「ID」?它是asp.net的保留字? – Lai32290

+0

我實際上已經創建了一個示例應用程序,它有一個名爲Id的隱藏字段,它不會引起任何問題。與此字段結合時,必定會有其他問題導致此問題。 – roryok

1

這可能不是你的問題的解決方案,但我有同樣的問題並通過在綁定數據之前檢查回發來解決它。

(!IsPostBack) 
{ 
    binddata(); //this was my gridview binding function 
} 
+0

這對我有用 – 1future

0

如果你正在使用的框架4.0,然後在web.config中的條目()

<configuration> 
    <system.web> 
     <pages validateRequest="false" /> 
    </system.web> 
</configuration> 

如果你使用框架4.5,然後進入在web.config中(requestValidationMode = 「2.0」)

<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" requestValidationMode="2.0"/> 
</system.web> 

Link