LinkButton wird nicht auf dem Produktionsserver ausgelöst

Dies ist ein guter Kandidat für das "Arbeitet an meinem Computer-Zertifizierungsprogramm" .

Ich habe den folgenden Code für einen LinkButton ...


  
Do you wish to upgrade?

Es verwendet ein benutzerdefiniertes Steuerelement, das einfach Code vor und nach dem Inhalt hinzufügt, um es als Popup-Dialogfeld zu formatieren. Die Schaltfläche Ja ist ein Hyperlink, weil JavaScript ausgeführt wird, um den Dialog auszublenden und einen anderen anzuzeigen. Die Schaltfläche Nein ist ein LinkButton, da PostBack diesen Wert verarbeiten muss.

Ich habe kein onClick-Ereignis mit dem LinkButton registriert, weil ich einfach überprüfe, ob IsPostBack wahr ist. Wenn es lokal ausgeführt wird, funktioniert das PostBack gut und alles geht gut. Bei der Veröffentlichung auf unserem Entwicklungsserver macht die Schaltfläche Nein nichts, wenn Sie darauf klicken. Ich benutze den gleichen Browser beim Testen lokal oder auf dem Entwicklungsserver.

Mein erster Gedanke ist, dass vielleicht ein Validator das Abfeuern des PostBacks verhindert. Ich verwende einige Validatoren in einem anderen Abschnitt der Seite, aber sie sind alle einer bestimmten Validierungsgruppe zugeordnet, der der Nein LinkButton nicht zugewiesen ist. Das Problem ist jedoch, warum es lokal nicht auf dem Entwicklungsserver arbeiten würde.

Irgendwelche Ideen?

0
hinzugefügt bearbeitet
Ansichten: 2

3 Antworten

Mein Verständnis von ValidationGroup ist, dass eine Schaltfläche ohne angegebene Gruppe alle Validatoren auf der Seite auslösen würde. Haben Sie versucht, dem LinkButton eine andere ValidationGroup zu geben?

0
hinzugefügt

Überprüfen Sie das HTML, das bei der Produktion ausgegeben wird, und vergewissern Sie sich, dass es das __doPostback() hat und dass es keine globalen Methoden gibt, die das Klicken und Abbrechen des Ereignisses überwachen. Anders als das, wenn Sie denken, dass es mit der Validierung in Verbindung stehen könnte, könnten Sie versuchen, CalsesValidation oder was auch immer zu false hinzuzufügen, und sehen, ob das hilft. Sonst ist ein "funktioniert auf meiner Maschine" -Fehler etwas schwierig zu debuggen, ohne anwesend zu sein und die Konfigurationen von DEV vs PROD zu kennen.

0
hinzugefügt
Dies hat das Problem behoben. Ich weiß, "Works on my Machine" Probleme sind Kopf zu duplizieren. Irgendwelche Theorien darüber, welche Unterschiede zwischen meinem lokalen und dem Entwicklungsserver diese Art von Problem verursachen würden?
hinzugefügt der Autor Chris, Quelle

Ich hatte ein ähnliches Problem. Ich habe ein Formular mit einem updatePanel erstellt, in der Form waren einige Linkbuttons, die einen modalpopup Ajax Extender öffnen würden. Sie funktionierten gut, bis ich der Website die Authentifizierung hinzufügte. Danach haben sie überhaupt nichts gemacht.

Als ich deine Lösung gelesen habe, habe ich festgestellt, dass einige der Linkbuttons funktionieren, sie sind diejenigen, die CausesValidation explizit gesetzt haben (ich gebe sie nur für die ein, bei denen ich das wahr machen würde). Durch Hinzufügen von CausesValidation = "false" zu allen anderen Link-Buttons konnten sie nach der Authentifizierung korrekt arbeiten.

Danke für Ihre Kommentare, alle, es hat meinen Tag gerettet!

0
hinzugefügt
Arbeitete für mich !!
hinzugefügt der Autor Arbaaz, Quelle