Verwenden von Ja/Keine Messagebox in Updatepanel AJAX

Ich habe eine Anforderung, wo ich Benutzer um Bestätigung und auch Anzeigen von Nachrichten bitten.

Die dafür verwendeten Programmierer stammten aus Windows-Formularen. Daher haben die MsgBox in jeder Ecke und Ecke verwendet. Selbst im Geschäftslogikteil haben sie die Messageboxes verwendet, die eine Bestätigung des Ja/Nein-Stils durch den Benutzer erfordern.

Als wir die Site vom Remote-Computer aus getestet haben, haben wir festgestellt, dass es Fehler bei der Verwendung von DefaultDesktopOnly/ServiceNotification gibt. Aber als wir getestet wurden, stellten wir fest, dass dies völlig anders ist als das, was wir gesucht haben.

Jetzt ist meine Anforderung, dass ein Bestätigungsfeld aus dem Code wie Datensatz löschen angezeigt wird" ja nein und basierend auf der Antwort nehmen wir die Aktion.

Dies ist mit updatepanel zu tun.

Antwort auf "Verwenden von Ja/Keine Messagebox in Updatepanel AJAX " 4 von antworten

Update-Bedienfeld oder nicht, müssen Sie einige Javascript anfügen, die confirm() javascript function. Based on it's result you cancel javascript default link/button behaviour... Javascript-Funktion aufrufen würde. Basierend auf dem Ergebnis brechen Sie das Javascript-Standard-Link-/Button-Verhalten ab...

Das gibt Ihnen etwas, um den Kopf für einen Anfang zu kratzen:
http://www.dotnetfunda.com/tutorials/ajax/updatepanel.aspx

Das ist keine Frage, sondern eine Anforderung.

Auf jeden Fall ... MessageBox ist eine Windows-Funktion, es ist keine HTML- oder Browserfunktion. Jetzt können Sie es auf eine von zwei Arten imitieren, über eine Javascript -"-Funktion confirm function or via Yes/No buttons and the appropriate event. oder über Ja/Nein-Tasten und das entsprechende Ereignis.

Da Ihre Anforderungen für etwas sind, das in einem Update-Panel funktioniert, würde ich vermuten, dass die manuelle Verdrahtung von Javascript-Ereignissen dafür nicht etwas sein wird, mit dem Sie sich wohlfühlen, also würde ich ein asp:Panel innerhalb des UpdatePanels vorschlagen, das Ja und Nein hat, mit Server-Seitenereignissen, die an sie gebunden sind. Zeigen Sie dies in der UpdatePanel-Logik an, wenn Sie eine Bestätigung wünschen und alles andere ausblenden möchten, die Handlung entsprechend.

Wenn Sie serverseitige Bestätigen tun möchten, werden Sie in kompliziertere Codegenerierung kommen. Zuallererst haben Sie zwei Ansichten . Die erste hat einen Link/Button löschen , sondern wird eigentlich nur ein Postback zur zweiten Ansicht sein, die Bestätigung Form mit ja/nein anzeigt. In diesem Formular wird Ihr ja Taste tatsächlich Ihre löschen Aktion sein...

Aber ich würde immer noch einen Hybrid (vor allem, wenn dies ein Raster ist, über das wir sprechen) von Javascript und Serverseite (da alert() and und confirm() are evil from user experience perspective): aus Sicht der Benutzererfahrung böse sind):

  1. Sie haben einen Linkbutton löschen
  2. , wenn benutzer Sie ersetzen dieses Steuerelement durch einen div, der zwei Linkbuttons ja/nein
  3. anzeigt, ein Postback mit einem der beiden

Addendum

  • No linkbutton könnte nur Dummy sein, Um diese Bestätigung auszublenden und wieder löschen zu lassen - so bedeutet es, dass es keinen Server-Roundtrip
  • geben wird, sie könnten sogar eine Benutzersteuerung erstellen, die dieses anspruchsvolle Löschlinkverhalten imitiert, um es wiederverwendbar zu machen.

Da Sie diesen Code an mehreren Stellen verwenden, schlage ich vor, dass Sie ein benutzerdefiniertes Steuerelement erstellen, das Ihre Nachricht und Ihre Anzeige und das Update-Bedienfeld mit Nachrichten- und Ja/Nein-Schaltflächen anzeigt.

Intern einen Wert für ja, nein, abbrechen... damit Sie so etwas wie MessageBox erhalten.