Invalid postback or callback argument.
Har et problem jeg har bøvlet med et stykke tid nu og jeg undrer mig.Jeg har lavet en side med en repeater der henter data fra en sql server 2008.
I min repeater har jeg en knap hvor text binded og hvor CommandArgument er binded:
asp:Button ID="btnNavn" runat="server" CommandName="btnCmdNavn" CommandArgument='<%# DataBinder.Eval(Container.DataItem, "index") %>' Text='<%# DataBinder.Eval(Container.DataItem, "navn") %>'/>
Når jeg trykker på knappen kan jeg bruge "index" til at kalde hele kollonnen i databasen.. Jeg tror det giver mening.. :)
Det jeg undrer mig over er at det har virket uden problemer - kalder index på knappen og kan hente i databasen med den string sådan her:
protected void rptTest_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "btnCmdNavn")
{
string index = e.CommandArgument.ToString();
}
}
Jeg har lavet dette simple eksempel for selv at troubleshoote men selv dette her giver følgende fejl:
Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.
Stack Trace:
[ArgumentException: Invalid postback or callback argument. Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page. For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them. If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.]
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +8656758
System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +113
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +35
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5563
Hvorfor kommer det nu? Kan ikke komme af med det med mindre jeg bruger
Page EnableEventValidation="true"
men det gør bare jeg ikke får returneret en værdi når jeg trykker på knappen.
Forslag?