The OnClick event of the button fires every time on the Load page

I have a button below:

 <asp:Button ID="btnApprove" runat="server" Text="Approve" CssClass="button" OnClick="btnApprove_Click" />

The server side event handler for this button:

 protected void btnApprove_Click(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "key", "alert('Button Approve Clicked')", true);      
    }

Just get a warning when you click a button on the server side.

My problem is that after I clicked on the Approve button, now when I load or refresh my page again, this event btnApprove_Clickis fired every time.

I have a “others” button on the same form, but no one shows this strange behavior. I tried to change this button as HTML, but still the same behavior.

Someone can help me get out of it. Thanks in advance.

+4
source share
3 answers

IsPostBack , . Page_Load.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
         // First Time Load When User Come 
    }
    else
    {
       // Every Time Load When Any click button in page
    }
+3

OnClientClick="return false;"

<asp:Button ID="btnApprove" runat="server" Text="Approve" CssClass="button" OnClick="btnApprove_Click" OnClientClick="return false;"/>
+1

How to use RegisterOnSubmitStatementinstead?

Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "key", "alert('Button Approve Clicked')");
0
source

Source: https://habr.com/ru/post/1652556/


All Articles