Ungültiges Postback- oder Callbackargument. Die Ereignisvalidierung wird mithilfe von <pages enableEventValidation="true"/> in der Konfiguration oder mithilfe von <%@ Page EnableEventValidation="true" %> auf einer Seite aktiviert. Aus Sicherheitsgründen überprüft dieses Feature, dass Argumente für Postback- oder Callbackereignisse von dem Serversteuerelement ausgehen, von dem sie ursprünglich gerendert wurden. Wenn die Daten gültig sind und erwartet wurden, verwenden Sie die ClientScriptManager.RegisterForEventValidation-Methode, um die Postback- oder Callbackdaten für die Validierung zu registrieren.

Diese Fehlermeldung kam bei mir, als ich einen DeleteButton mit ShowDeleteButton (als ImageButton!) in jeder GridView Zeile haben wollte, der mit einen return confirm('Wirklich löschen?') ausgestattet war. Ohne das JavaScript lief noch alles perfekt.
1:<asp:GridView runat="server" ID="gvTest" />
2: <Columns>
3: <asp:CommandField ButtonType="Image" ShowDeleteButton="true"
4: DeleteImageUrl="~/images/delete.gif" ItemStyle-CssClass="GVSmallCell" />
5: </Columns>
6:</asp:GridView>


Die Lösung ist ein kleiner Workarraund, der aber keinen zusätzlichen Code im CodeBehind benötigt! Man muss ein TemplateField nehmen und in dieses einen LinkButton einfügen. Die Eigenschaft CommandName setzt man auf "Delete" und als Text Eigenschaft nimmt man ein img Tag mit den gewünschten Bild. Dadurch sieht der LinkButton genauso aus, wie der alte ImageButton und das Event OnRowCommand bzw. OnRowDeleting wird ganz normal ausgelöst, ohne dass man etwas dazu tun muss.
1:<asp:GridView runat="server" ID="gvTest" />
2: <Columns>
3: <asp:TemplateField ItemStyle-CssClass="GVSmallCell">
4: <ItemTemplate>
5: <asp:LinkButton ID="lbDel" runat="server" CommandName="Delete"
6: ImageUrl="~/images/delete.gif" OnClientClick="return confirm('Wirklich löschen?');"
7: Text="<img src='images/delete.gif' style='border:solid 0px white;' />" />
8: </ItemTemplate>
9: </asp:TemplateField>
10: </Columns>
11:</asp:GridView>