Avatar billede alex_sleiborg Nybegynder
14. marts 2008 - 11:25 Der er 7 kommentarer og
1 løsning

Fejl når der skal udføres event

Hej

Jeg har et gridview, hvor jeg har en button der skal slette en bruger når der trykkes på knappen. Men jeg får denne fejl, og jeg har simpelthen set mig blind på det...

Her er fejlen

Serverfejl i programmet '/Gallery'.
--------------------------------------------------------------------------------

Ugyldigt tilbagesendelses- eller tilbagekaldsargument.  Hændelsesvalidering er aktiveret ved hjælp af <pages enableEventValidation="true"/> i konfigurationen eller <%@ Page EnableEventValidation="true" %> på en side. Af sikkerhedsmæssige hensyn kontrollerer denne funktion, at argumenter til tilbagesendelses- og tilbagekaldshændelser stammer fra det serverkontrolelement, der oprindelig gengav dem. Hvis dataene er gyldige og forventede, kan du bruge metoden ClientScriptManager.RegisterForEventValidation til at registrere tilbagesendelses- og tilbagekaldsdataene til validering.
Beskrivelse: Der opstod en undtagelse, der ikke blev behandlet, under udførelse af den aktuelle webanmodning. Se staksporingen for at få yderligere oplysninger om fejlen, og hvor den kom fra i koden.

Detaljer om undtagelse: System.ArgumentException: Ugyldigt tilbagesendelses- eller tilbagekaldsargument.  Hændelsesvalidering er aktiveret ved hjælp af <pages enableEventValidation="true"/> i konfigurationen eller <%@ Page EnableEventValidation="true" %> på en side. Af sikkerhedsmæssige hensyn kontrollerer denne funktion, at argumenter til tilbagesendelses- og tilbagekaldshændelser stammer fra det serverkontrolelement, der oprindelig gengav dem. Hvis dataene er gyldige og forventede, kan du bruge metoden ClientScriptManager.RegisterForEventValidation til at registrere tilbagesendelses- og tilbagekaldsdataene til validering.

Kildefejl:

Der blev oprettet en undtagelse, der ikke blev behandlet,  under kørsel af den aktuelle webanmodning. Du kan finde oplysninger om undtagelsens oprindelse og placering ved hjælp af nedenstående staksporing af undtagelser. 

Staksporing:


[ArgumentException: Ugyldigt tilbagesendelses- eller tilbagekaldsargument.  Hændelsesvalidering er aktiveret ved hjælp af <pages enableEventValidation="true"/> i konfigurationen eller <%@ Page EnableEventValidation="true" %> på en side. Af sikkerhedsmæssige hensyn kontrollerer denne funktion, at argumenter til tilbagesendelses- og tilbagekaldshændelser stammer fra det serverkontrolelement, der oprindelig gengav dem. Hvis dataene er gyldige og forventede, kan du bruge metoden ClientScriptManager.RegisterForEventValidation til at registrere tilbagesendelses- og tilbagekaldsdataene til validering.]
  System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +367
  System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +83
  System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +52
  System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +31
  System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +32
  System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +72
  System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint



            <asp:GridView ID="GridView" runat="server" AutoGenerateColumns="False" OnRowCommand="GridView_OnRowCommand">
                <Columns>
                    <asp:TemplateField ShowHeader="False" HeaderText="Slet bruger">
                        <ItemTemplate>
                            <asp:Button ID="btnDelUser" runat="server" CausesValidation="False" CommandName="DeleteUser"
                                Text="Slet" CommandArgument='<%# Eval("UserName") %>' />
                        </ItemTemplate>


Og code behind eventhandleren

    protected void GridView_OnRowCommand(object sender, GridViewCommandEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Working");

        if (e.CommandName == "DeleteUser")
        {
        }
    }

Håber der er nogen der kan se fejlen
Avatar billede jokkejensen Novice
14. marts 2008 - 11:45 #1
<pages enableEventValidation="false"/> i web.config eller <%@ Page EnableEventValidation="false" %> på din side (i toppen)..

Men det er nok skønnere hvis du har flere webforms at løse det gennem web.config..

/JJ
Avatar billede jokkejensen Novice
14. marts 2008 - 11:47 #2
yderligere skal du tage at fjerne den danske sprogpakke til dit framework, eller bare installere den engelske igen.. så er det lettere at søge på google efter relaterede issues.

/JJ
Avatar billede alex_sleiborg Nybegynder
14. marts 2008 - 11:53 #3
Ja, det havde jeg også prøvet. Men det event bliver ikke fyret afsted i min code behind??? Jeg kan i hvert fald ikke se der står Working i min debug
Avatar billede jokkejensen Novice
14. marts 2008 - 11:55 #4
Ja det bør den selvfølgeligt.


Virker det med:


    protected void GridView_OnRowCommand(object sender, GridViewCommandEventArgs e)
    {
        System.Diagnostics.Debug.WriteLine("Working");

      //lad være med at bruge e.
    }
Avatar billede jokkejensen Novice
14. marts 2008 - 12:04 #5
Af sikkerhedsårsager tror jeg nu den allerede stopper når du benytter eventargs som parameter.
Avatar billede alex_sleiborg Nybegynder
14. marts 2008 - 17:12 #6
Hvordan gør jeg så?
Avatar billede alex_sleiborg Nybegynder
11. juni 2008 - 09:09 #7
Ingen der kan hjælpe?
Avatar billede alex_sleiborg Nybegynder
14. september 2008 - 10:38 #8
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester