2012-04-09 5 views
0

Ich habe ein Formular mit action = "xyz.aspx: type = new" und einige Eingabetextfelder und 2 Schaltflächen: Senden und Vorschau. Die Schaltfläche "Senden" aktualisiert die Datenbank mit Textfeldwerten und die Schaltfläche "Vorschau" überträgt die Werte für das Formular-Textfeld auf die Seite "xyz.aspx? Type = preview". Das Problem ist, dass die Funktionen erreicht werden, aber nach dem Klicken auf die Vorschau-Schaltfläche, wird die Aktions-URL des Formulars in Aktion treten und eine Aktualisierung in der Datenbank verursachen, die nicht erwünscht ist. Wie verhindere ich das? Eine Hilfe ist erwünscht.Wie zu verhindern, dass Formular Aktion in asp.net

+0

Können Sie einen Beispielcode hinzufügen, was bei Ihrem page_load passiert? – hofnarwillie

Antwort

1

Wenn Ihre zwei Tasten nicht asp sind: Tasten, tun Sie das zuerst.

<asp:Button Id="Submit" runat="server" OnClick="Submit_OnClick"/> 
<asp:Button Id="Preview" runat="server" OnClick="Preview_OnClick"/> 

Nun bewegen Sie Ihren Code die Datenbank in Submit_OnClick

protected void btnExecute_Click(object sender, EventArgs e) 
{ 
    //update your database 
} 

Ihre Datenbank sollte nur aktualisiert werden, zu aktualisieren, wenn Senden geklickt wird.

Verwenden Sie die PostBackUrl-Eigenschaft, wenn Sie Ihre Schaltfläche Vorschau benötigen, um auf einer anderen Seite zu veröffentlichen.

+0

Danke! Ich habe jedoch eine gemeinsame Seite, die beim Klicken auf die Schaltflächen "Senden" und "Vorschau" angezeigt wird. Das einzige Problem ist, dass nach Submit Werte aus dbase und Vorschau aus Querystring gefüllt werden. Aber warum wird die Formularaktion nach der Vorschau ausgelöst? Der Preview-Klickcode enthält nur die Weiterleitungs-URL. –

+0

Wenn Sie Code in Ihrem Page Load-Ereignis haben, wird es für jedes Steuerelement ausgelöst, das einen Post zurück verursacht. Wir müssten deinen Code sehen, um mehr zu wissen. – SouthShoreAK

Verwandte Themen