Elvin
Elvin

Reputation: 2291

calling two functions on asp.net button onclick

I want to call two functions on button click I tried like this

 <asp:Button ID="Button2" runat="server" Font-Bold="False" onclick="tableShow();Unnamed1_Click" Text="Search" 
         Width="63px">

Upvotes: 6

Views: 46670

Answers (3)

delliottg
delliottg

Reputation: 4140

Another option is to use the onclientclick event which allows you to run a JS function w/o a server interaction.

<asp:TemplateField>
    <FooterTemplate>
        <asp:Button ID="btnAdd" runat="server" Text="Add" onclick="btnAdd_Click" OnClientClick="javascript:ResetSaveFlag()"/>
        <asp:Button ID="btnClear" runat="server" Text="Clear" OnClientClick="javascript:ResetSaveFlag(); javascript:clearEntries(this)"/>
    </FooterTemplate>
    <ItemTemplate>
        <asp:Button ID="btnDelete" runat="server" Text="Delete" CommandName="Delete" 
            onclick="btnDelete_Click" 
            CommandArgument='<%# Eval("partNumber") + "," + Eval("warehouseLocation") %>' 
            UseSubmitBehavior="False"/>
    </ItemTemplate>
</asp:TemplateField>

In the first button (adds a new row to the table), I have a server side onclick="btnAdd_Click" as well as a client side OnClientClick="javascript:ResetSaveFlag()".

The second button (clears a row and sets a "clean" flag so onbeforeunload won't run), I'm not using any server side code, just the client side OnClientClick="javascript:ResetSaveFlag(); javascript:clearEntries(this)". The first one clears the "dirty" flag and the second one clears the row of any entries.

If anyone's interested I can post the clean & dirty flag JS, but it didn't really seem germane to the original question.

Upvotes: 0

عثمان غني
عثمان غني

Reputation: 2708

you can use the method inside method to do this. First do this

<asp:Button ID="Button2" runat="server" Font-Bold="False" onclick="Unnamed1_Click" Text="Search" 
         Width="63px">

then in code behind

protected void Unnamed1_Click(object sender, EventArgs e)
{
    //call another function here
}

Upvotes: 1

Ramesh
Ramesh

Reputation: 13266

OnClick is a server side event. Hence you can assign one method and from that method make a call to other method as below.

In asp markup

<asp:Button ID="Button2" runat="server" Font-Bold="False" onclick="Unnamed1_Click" 
 Text="Search" Width="63px">

In code behind

protected void Unnamed1_Click(object sender, EventArgs e)
{
    this.tableShow();
    //Do your actual code here.
}

UPDATE

If tableShow is a javascript method then you can use the below markup

<asp:Button ID="Button2" runat="server" Font-Bold="False" 
 OnClientClick="tableShow();" onclick="Unnamed1_Click" Text="Search"
 Width="63px">

Upvotes: 17

Related Questions