it-swarm.com.de

So rufen Sie eine Javascript-Funktion vor und nach dem Klicken auf den Ereignisaufruf in asp.net auf

ich habe "ButtonClick" -Funktion in ASP.NET wie folgt erstellt:

<asp:Button ID="btnLogin" runat="server" Text="Login" CssClass="button" CausesValidation="true" onclick="btnLogin_Click"/>

ich möchte wissen, ist es möglich, eine Javascript-Funktion vor und nach dem Aufruf von asp.net Button Click-Funktion aufzurufen ... ???

Vielen Dank.

5
sohaib

Ja, es ist möglich, hier ein kurzes Beispiel: Java-Skriptfunktion zum Aufrufen.

<script type="text/javascript">
    function clientValidate() {
        alert("execute before");
        return true;
    }

    function executeAfter() {
        alert("execute after");
    }
</script>

Hier ist Snapshoot für den Button

<asp:Button ID="btnLogin" runat="server" Text="Login" CausesValidation="true" OnClientClick="clientValidate()" onclick="btnLogin_Click"/>

Beachten Sie die Eigenschaft onClientClick = "clientValidate ()", es wird vor dem Klicken der Schaltfläche auf dem Server ein Trigger-Skript ausgeführt.

Auf der Serverseite:

protected void btnLogin_Click(object sender, EventArgs e)
        {
        ScriptManager.RegisterClientScriptBlock(this, GetType(), "none", "<script>executeAfter();</script>", false);
        }

Beachten Sie executeAfter () ;, es wird die Ausführung von Javascript nach dem Serverereignis ausgelöst. 

Vergessen Sie nicht, <asp:ScriptManager runat="server"></asp:ScriptManager> in Ihrer aspx-Datei zu platzieren.

Ich hoffe es hilft

13
Akbar Kautsar

setzen Sie dies auf Ihre Seite und stellen Sie sicher, dass Sie über einen Scriptmanager verfügen. Diese Codes behandeln Ihre Pre & Post-Postbacks.

var prm, postBackElement;
if (typeof Sys != "undefined") {
    prm = Sys.WebForms.PageRequestManager.getInstance();
    prm.add_initializeRequest(InitializeRequest);
    prm.add_endRequest(EndRequest);
}

function InitializeRequest(sender, e) {
    postBackElement = e.get_postBackElement();
    if (postBackElement.id == "btnLogin") {
        // before click codes
    }
}
function EndRequest(sender, e) {
    if (postBackElement.id == "btnLogin") {
        // after click codes
    }
}
4
avhinn robles

Sie können die Java-Scrip-Funktion vor dem serverseitigen Klicken mit OnClientClick() aufrufen:

aspx (design)

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function Test() {
            alert('client click');
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button Text="btn" runat="server" ID="btn" 
                        OnClick="btn_Click" OnClientClick="Test()" />
    </div>
    </form>
</body>
</html>

.cs

 protected void btn_Click(object sender, EventArgs e)
 {
    Response.Write("Server Click");
 }
2
Arshad

Vor:

<script type="text/javascript">
    function executeBefore() {
        alert("execute before");   
    }
</script>

<asp:Button ID="btnLogin" runat="server" Text="Login" CausesValidation="true" OnClientClick="executeBefore()" onclick="btnLogin_Click"/>

Nach dem: 

<script type="text/javascript">
    function executeAfter() {
        alert("execute after ");    
    }
</script>

Fügen Sie diesen Code zu Ihrem serverseitigen Ereignis hinzu:

Page.ClientScript.RegisterStartupScript(GetType(), "none", "<script>executeAfter();</script>", false);

Wenn Sie keine Masterseite haben oder ajax nicht verwenden, müssen Sie ScriptManager nicht hinzufügen.

2
live-love

Zum ersten Mal können Sie Ihre JavaScript-Funktion im Button OnClientClick-Ereignis aufrufen, wobei Sie den Funktionsnamen angeben.

<asp:Button ID="btnLogin" runat="server" Text="Login" CssClass="button" CausesValidation="true" onclick="btnLogin_Click" OnClientClick="return functionNAME();"/>

Klicken Sie zum zweiten Mal in Ihrer Schaltfläche auf das Ereignis btnLogin_Click call js wie folgt

ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "script", "<script type='text/javascript'>functionNA();</script>", false);
1
joker

Wenn Sie es vorher aufrufen, können Sie die Verwendung der Onload-Funktion in Betracht ziehen, wie im folgenden Beispiel:

<body onload="myFunction()">

Um ihn danach aufzurufen, verknüpfen Sie einfach die Schaltfläche, um JS onClick auszuführen.

Ich glaube nicht, dass ich deine Absichten richtig verstehe.

0
ChoiceMC