2012-08-15 80 views
3

我想打电话按钮两种功能单击 我试过这样在asp.net按钮调用两个功能的onclick

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

你想通过这样做来达到什么样的目的?这听起来很疯狂。您可以调用一个函数,然后在该函数内部调用其他函数。 – Zaksh 2012-08-15 04:43:49

+0

@ Zaksh我想调用1个js函数来隐藏/取消隐藏表。 – Elvin 2012-08-15 04:47:04

回答

9

的OnClick是一个服务器端事件。因此,您可以指定一个方法,并从该方法调用其他方法,如下所示。

在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. 
} 

UPDATE

如果tableShow是一个JavaScript方法,那么你可以使用下面的标记

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

它完全符合我的要求,但由于我没有信誉分数,所以我不能投票给你的答案。 – Elvin 2012-08-15 04:55:33

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

另一种选择是使用onclientclick事件,它允许你运行一个JS函数W/O服务器的交互。

<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()"

第二个按钮(清除一行并设置“干净”标志so onbeforeunload won't run),我没有使用任何服务器端代码,只是客户端OnClientClick="javascript:ResetSaveFlag(); javascript:clearEntries(this)"。第一个清除“脏”标志,第二个清除任何条目的行。

如果有人有兴趣我可以发布干净的&脏旗JS,但它似乎并没有真正与原始问题密切相关。