5

ボタンクリックで2つの関数を呼び出したいこんな感じでやってみました

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

3 に答える 3

15

OnClick はサーバー側のイベントです。したがって、以下のように、1 つのメソッドを割り当て、そのメソッドから他のメソッドを呼び出すことができます。

ASPマークアップで

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

コードビハインドで

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

アップデート

tableShowが JavaScript メソッドの場合、以下のマークアップを使用できます

<asp:Button ID="Button2" runat="server" Font-Bold="False" 
 OnClientClick="tableShow();" onclick="Unnamed1_Click" Text="Search"
 Width="63px">
于 2012-08-15T04:44:34.660 に答える
1

メソッド内のメソッドを使用してこれを行うことができます。まずこれを

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

次に、コードビハインドで

protected void Unnamed1_Click(object sender, EventArgs e)
{
    //call another function here
}
于 2012-08-15T06:44:56.110 に答える
0

もう 1 つのオプションは、onclientclickイベントを使用して、サーバー インタラクションを使用して JS 関数を実行できるようにすることです。

<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>

最初のボタン (テーブルに新しい行を追加する) には、サーバー側onclick="btnAdd_Click"とクライアント側がありますOnClientClick="javascript:ResetSaveFlag()"

2 番目のボタン (行をクリアし、 onbeforeunload が実行されないように「クリーン」フラグを設定します)、サーバー側のコードは使用せず、クライアント側のみを使用しますOnClientClick="javascript:ResetSaveFlag(); javascript:clearEntries(this)"。1 つ目は「ダーティ」フラグをクリアし、2 つ目はすべてのエントリの行をクリアします。

誰かが興味を持っている場合は、クリーン&ダーティフラグJSを投稿できますが、元の質問とはあまり関係がないようです。

于 2016-06-17T14:47:01.610 に答える