Ich habe einen Asp-Knopf. Es ist serverseitig, so dass ich es nur für angemeldete Benutzer anzeigen kann, aber ich möchte, dass es eine Javascript-Funktion ausführt, und es scheint, dass es immer das Postback-Ereignis aufruft, wenn es runat = "server" ist.
Ich habe auch eine normale Schaltfläche ( <input...
>), die nicht auf dem Server ausgeführt wird und die einwandfrei funktioniert ...
Wie kann ich dafür sorgen, dass auf dieser Schaltfläche nur Javascript und kein Postback ausgeführt wird?
.net
asp.net
javascript
ajax
Dkarzon
quelle
quelle
OnClientClick="return false"
funktioniert.oder
quelle
Sie können die Aktion jquery click verwenden und die Funktion präventDefault () verwenden, um ein Postback zu vermeiden
quelle
Bedenken Sie.
quelle
Die anderen haben Recht, dass Sie Ihren Rückruf benötigen, um false zurückzugeben. Ich möchte jedoch hinzufügen, dass es eine hässliche alte Art ist, Dinge zu tun, indem man den Onclick setzt. Ich würde empfehlen, über unauffälliges Javascript zu lesen . Die Verwendung einer Bibliothek wie jQuery könnte Ihnen das Leben erleichtern und den HTML-Code weniger an Ihr Javascript koppeln (und jQuery wird jetzt von Microsoft unterstützt !).
quelle
ASP.NET generiert immer
asp:Button
alsinput type=submit
.Wenn Sie eine Schaltfläche möchten, die keinen Beitrag erstellt, aber eine Steuerung für das Element auf der Serverseite benötigt, erstellen Sie eine einfache HTML-Eingabe mit Attributen
type=button
undrunat=server
.Wenn Sie die Ausführung von Klickaktionen deaktivieren
OnClientClick=return false
, wird beim Klicken nichts ausgeführt, es sei denn, Sie erstellen eine Funktion wie:quelle
Sie sagen nicht, welche Version des .NET Frameworks Sie verwenden.
Wenn Sie Version 2.0 oder höher verwenden, können Sie die OnClientClick-Eigenschaft verwenden, um eine Javascript-Funktion auszuführen, wenn das Onclick-Ereignis der Schaltfläche ausgelöst wird.
Alles, was Sie tun müssen, um ein Server-Postback zu verhindern, ist die Rückkehr
false
von der aufgerufenen JavaScript-Funktion.quelle
Zusätzlich können Sie für akzeptierte Antworten UseSubmitBehavior = "false" MSDN verwenden
quelle
__doPostBack(
bis zum Ende des Client-Klickskripts.In meinem Fall habe ich das Hinzufügen von return im onClientClick gelöst:
Code dahinter
Designoberfläche
quelle
OnClick
Methode danach aus.Sie können den Code verwenden:
wenn nee einreichen
quelle
Mit Validierung
In diesem Beispiel habe ich zwei Steuerelemente verwendet
ddl
undtxtbox
habe eine fröhliche Codierungquelle
Sie können dafür JQuery verwenden
als in JQuery
quelle