Ungültiges postback oder callback-argument. Warum?
Also ich bekomme die Ausnahme
Ungültiges postback oder callback-argument.
Ereignis-Validierung aktiviert ist mitin Konfiguration oder <%@ Page
EnableEventValidation="true" %> in einem
Seite. Aus Sicherheitsgründen, dieses
Funktion überprüft, ob Argumente
postback oder callback-Ereignisse entstehen
aus dem server-Steuerelement, das
ursprünglich gerendert Ihnen. Wenn die Daten
gültig ist und erwartet, verwenden Sie die
ClientScriptManager.RegisterForEventValidation
Methode, um zu registrieren
postback oder callback-Daten für
die Validierung.
Mit den folgenden stack trace
[System.ArgumentException: Nicht Abgefangene
Ausnahme: Ungültiges postback-oder
callback-argument. Ereignis-Validierung
aktiviert ist die Verwendung in
Konfiguration oder <%@ Page
EnableEventValidation="true" %> in einem
Seite. Aus Sicherheitsgründen, dieses
Funktion überprüft, ob Argumente
postback oder callback-Ereignisse entstehen
aus dem server-Steuerelement, das
ursprünglich gerendert Ihnen. Wenn die Daten
gültig ist und erwartet, verwenden Sie die
ClientScriptManager.RegisterForEventValidation
Methode, um zu registrieren
postback oder callback-Daten für
die Validierung.] bei
System.Web.UI.ClientScriptManager.ValidateEvent(String
die uniqueId, String Arguments) bei
System.Web.UI.Kontrolle.ValidateEvent(String
uniqueID String eventArgument) bei
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String
eventArgument) bei
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String
eventArgument) bei
System.Web.UI.Seite.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
bei
System.Web.UI.Seite.RaisePostBackEvent(NameValueCollection
postData) bei
System.Web.UI.Seite.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean
includeStagesAfterAsyncPoint)
Ausnahme tritt auf, nachdem Sie ein Formular ausgefüllt, und dann schnell Klick auf einen LinkButton zum herunterladen einer Datei auf der gleichen Seite, bevor die Seite lädt erneut.
Kann jemand erläutern, warum diese Ausnahme aufgetreten ist, nach der Ausführung der oben genannten Aktionen?
Vielen Dank im Voraus!
- Ich hatte die gleiche Ausnahme, die auf Produktions-server installiert als ich .NET Framework 4.5. Deshalb musste ich wiederherstellen .NET 4.0. Btw .NET 4.5 ist einfach zu aktualisieren (oder service pack) von .NET 4.0, konnten Sie nicht Leben side-by-side. Was für ein albernes Zeug...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies hat zu einer der am meisten frustrierenden Fehlermeldungen .NET, aber wenn man einmal ein Gefühl für das, was Los ist, macht es Sinn. .NET mag, zu wissen, ALLES, was Los ist. Es hält den überblick über alle Elemente, die es hat auf der Seite platziert. Entlang diesen gleichen Linien .NETZ wird beleidigt, wenn er eine Eingabe erhält, von etwas, das es nicht kannte. In deinem Fall klingt es wie, zu der Zeit, die Sie klicken auf den LinkButton .NET glaubt nicht, dass es da sein sollte. In meiner Erfahrung gibt es zwei mögliche Gründe:
Sie tun, um client-side-Zauberei, das ist die Schaffung neuer Eingänge oder Klonen Sie vorhandene Eingänge.
Während der übermittlung der form der Bearbeitung .NET tut etwas, um den LinkButton, die bewirkt, dass es nicht mehr verfügbar ist. Einige Beispiele HIERFÜR habe ich in laufen, wenn Sie Ihre LinkButton ist dynamisch im backend erstellt oder Sie verwenden UpdatePanels und deren Inhalte geändert werden, während das Formular gesendet.
Grundsätzlich glaube ich, wenn Sie Schritt für Schritt durch den Formular-code und Uhr, LinkButton, du wirst sehen .NET zu vergessen, die verständlicherweise löst diese "Sicherheits-Ausnahme" bei den LinkButton klickt.
Wenn Sie klicken, bevor eine Seite hat eine chance, vollständig zu Rendern, dann die __EVENTVALIDATION Felder nicht vollständig geschrieben - so Ihre Fehler.
Nun war dies behoben 3.5 SP1/3.0 SP2, und ist konfigurierbar im web.config;
Der Standardwert ist true - also welche version .NET sind Sie? Man konnte immer die Schaltflächen deaktivieren der client-Seite, bis die Seite fertig geladen ist.
Dieser Fehler erschien zeitweise für mich, auf einer sehr großen Seite.
Entdeckte ich, dass wenn ein button geklickt wurde vor die Seite laden abgeschlossen hatte, würde es diesen Fehler.
Warten für die Seite vollständig geladen ist, bevor Sie auf die Schaltfläche, bekomme ich nicht den Fehler.
Verwenden Sie diese Seite.asx-in der Seite tag EnableEventValidation="false"
Habe ich herausgefunden, dass html-Formulare kann die Ursache für dieses problem in WebForms, wenn Sie nicht entfernen Sie Sie alle aus einer Vorlage