12 Stimmen

Ich muss in asp.net zweimal auf die Schaltfläche klicken (nach dem Textfeld "Autopostback")

Auf einer Seite habe ich:

<asp:TextBox runat="server" ID="EmailTextBox" AutoPostBack="true" OnTextChanged="EmailTextBox_Changed" />
<asp:Button runat="server" ID="SearchButton" OnClick="AddButton_Click" Text="add" />

In EmailTextBox_Changed wird gezählt, wie viele E-Mails gefunden werden können, bevor die Suche gestartet wird.

Das Problem ist, dass Sie, wenn Sie etwas in die EmailTextBox eingeben und auf die Schaltfläche klicken, zweimal klicken müssen, um die tatsächlichen Ergebnisse zu erhalten. Das liegt daran, dass der erste Klick den "AutoPostBack"-Teil des Textfeldes ausführt, und dann muss man erneut klicken, um den tatsächlichen Klick Postback zu machen.

Wie kann ich verhindern, dass unter diesen Umständen zwei Klicks erforderlich sind, ohne die Option "AutoPostBack=true" zu entfernen?

0 Stimmen

Ändern Sie die Schaltfläche von einem Server-Steuerelement zu einer Client-basierten Schaltfläche, zusätzlich verwenden Sie JS für diese.

0voto

Ronen Festinger Punkte 2138

Ich hatte das gleiche Problem, ich beschloss, die Klick-Ereignis-Code, um die Seite zu laden und führen Sie es im Falle von Postback zu verschieben. Und nicht zu einem Klick-Ereignis überhaupt verwenden.

protected void Page_Load(object sender, System.EventArgs e)
    {
        if (IsPostBack)
        {
             // put code here
        }
    }

anstelle von:

public void ButtonClick(object sender, EventArgs e)
    {
      //...
    }

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X