2016-04-29 6 views
0

Im Moment habe ich mehrere Schaltflächen, die Etiketten aktualisieren, wenn sie gedrückt werden, aber ich möchte alles andere - einige andere Websteuerelemente und einen Tisch - genau so auf der Seite behalten, wie sie sind. Ich habe versucht, dies zu erzwingen:Wie kann ich verhindern, dass meine ASP.NET-Seite erneut geladen wird, wenn eine Schaltfläche gedrückt wird, während das Schaltflächenereignis weiterhin aktiviert ist?

   TableCell addButtonCell = new TableCell(); 
       Button addButton = new Button(); 
       addButton.Text = "Add"; 
       addButton.OnClientClick = "return false;"; // < this 
       addButton.Click += new EventHandler(addButton_Click); 
       addButtonCell.Controls.Add(addButton); 

Aber jetzt meine eigentliche Schaltfläche Ereignis wird nicht ausgelöst.

+0

zeigen Sie den Code für die OnClientClick Taste. –

+0

Diese Zeile addButton.OnClientClick = "return false;"; verhindert, dass das onclick-Ereignis des Servers ausgelöst wird. –

+1

Ich schlage vor, dass Sie updatepanel verwenden, um nur bestimmte Teile Ihrer Seite zu aktualisieren. –

Antwort

0
<asp:Button runat="server" ID="Button1" Text="Add" OnClientClick="click(); return false;" /> 

<script> 
function click(){ 
    alert("Hey, it's not a postback!"); 
} 
</script> 

Das obige Beispiel zeigt, wie Sie mit der Schaltfläche nur auf der Clientseite interagieren können. Der Schlüssel hier ist, return false; Anweisung hinzuzufügen, damit ein Postback nicht ausgegeben wird. In diesem Fall würde also kein Neuladen der Seite stattfinden.

Abhängig von Ihrer Anforderung müssen Sie verstehen - sollte das Klicken auf der Client- oder Server-Seite erfolgen? Was möchten Sie erreichen, nachdem Sie auf die Schaltfläche geklickt haben?

Wenn Sie die Verarbeitung auf der Serverseite bevorzugen, ohne die Seite bei jedem Klick neu laden zu müssen, können Sie die Steuerung UpdatePanel ausprobieren, wodurch Sie eine teilweise Aktualisierung der Seite durchführen können.

Weitere Informationen zum UpdatePanel-Steuerelement finden Sie in diesem MSDN-Artikel.

https://msdn.microsoft.com/en-us/library/bb386454.aspx

Verwandte Themen