2009-04-07 8 views
0

Folgendes möchte ich tun. Ich möchte, dass die Benutzer ihre eigenen Beiträge löschen können, aber ich möchte, dass sie dies zuerst bestätigen. Wenn der Benutzer also auf den Link Löschen klickt, möchte ich einen Bestätigungsdialog mit Ja und Nein (Standard-Javascript-Bestätigungsdialog) anzeigen, wenn Der Benutzer wählt "Nein", es passiert nichts und die Seite wird nicht zurück posten, aber wenn sie "Ja" wählen, sollte die Seite zurück auf den Server posten, wie kann dies mit Javascript in ASP.NET geschehen?Wie man Seitenpost von Javascript steuern?

Dank

Edit: "(Sind Sie sicher?") Vielen Dank Jungs, ich glaube, ich für OnClientClick = gehe Rückkehr bestätigen ";"

Antwort

2

Sie müssen (im Code hinter):

  1. die ClientScript Objekt Verwenden Sie die Postbacks Referenz für Ihre Schaltfläche als String
  2. Ändern Sie die OnClientClick Eigenschaft der Schaltfläche erhalten die followign aufzunehmen Javascript und die zuvor abgerufene Referenz:

    btn.OnClientClick = "zurück bestätigen ('Bist du sicher?');" + btnPostbackReferenceString;

  3. Gewinn.

+0

Danke für die Antwort, aber wofür benötige ich btnPostbackReferenceString? –

+0

Damit Ihre Schaltfläche weiterhin das Ereignis auslöst, das ausgelöst wurde, bevor Sie den Klick-Handler ändern. – cjk

+0

+1 für "Profit!" ;-) – Cerebrus

1

Ihre Bestätigung an Ihre Taste so hinzufügen:

submitButton.Attributes["onclick"] = 
    "if (!confirm('Do you want to continue ?')){return false;}"; 

, wenn der Benutzer nicht wählt, bestätigt false zurück, dann der Code gibt false zurück und die Postbacks vermieden werden.

Beachten Sie: Wenn Sie zurückgeben bestätigen ('ein wenig Text'), wird Ihr Postback vermieden, was auch immer der Benutzer auswählt.

+0

oh, aber warum ist das so? Ich habe versucht, OnClientClick = "return confirm ('Sind Sie sicher?');" und es funktionierte gut in IE6 und FF3, verursacht es Probleme mit einigen Browsern? –

+0

Außerdem überprüfte ich die Seitenquelle und sah nicht, dass ASP.NET etwas zu onclick hinzufügt –

+0

Ich bin mir nicht so sicher, ob (wahr) zurück wahr ...? – cjk