Question

I'm creating a client insert form, in this form has a <asp:HiddenField/> named Id for save selected client id, but when I try submit form, it is on Page enableEventValidation="true" error, when I rename this HiddenField for any other Id, it's work

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

My form can submit success when I set enableEventValidation="false", but maybe I will need it in future

How to can I resolve this problem? keep HiddenField named Id

PrintScreen: error message screen

Was it helpful?

Solution

You've pretty much answered your own question. The only way to make this work is set enableEventValidation="false" or rename your HiddenField

Renaming it would be the best solution here, for security reasons

OTHER TIPS

If you're are using framework 4.0 then entry in web.config ()

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

If you're using framework 4.5 then entry in web.config (requestValidationMode="2.0")

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

Link

This might not be the solution for your problem, but i was having same problem and solved it by checking for postback before binding data.

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

This error also occurs when there is another form on the page that does not contain runat = server. Please check if there is another form on the master page or the current page.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top