.net - Kuinka poistaa postback käytöstä asp-painikkeessa (System.Web.UI.WebControls.Button)


Minulla on ASP-painike. Se on palvelinpuolella, joten voin näyttää sen vain kirjautuneille käyttäjille, mutta haluan sen suorittavan JavaScript-funktiota, ja näyttää siltä, että kun se on runat="server", se aina kutsuu postback-tapahtumaa.

Minulla on myös tavallinen painike (<input...>) joka ei toimi palvelimella, ja se toimii hyvin...

Kuinka voin saada tämän painikkeen suorittamaan vain JavaScriptin eikä tekemään postbackia?

Vastaus #1

Anna javascriptisi palauttaa false, kun se on valmis.

<asp:button runat="server".... OnClientClick="myfunction(); return false;" />

Vastaus #2

YourButton.Attributes.Add("onclick", "return false");

tai

<asp:button runat="server" ... OnClientClick="return false" />

Vastaus #3

Voit käyttää jQueryn click-toimintoa ja käyttää preventDefault()-funktiota välttääksesi postbackin

<asp:button ID="btnMyButton" runat="server" Text="MyButton" />


$("#btnMyButton").click(function (e) {
// some actions here
 e.preventDefault();
}

Aiheeseen liittyviä artikkeleita