我想在按钮点击时调用两个函数 我试过这个
<asp:Button ID="Button2" runat="server" Font-Bold="False" onclick="tableShow();Unnamed1_Click" Text="Search"
Width="63px">
答案 0 :(得分:12)
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.
}
<强>更新强>
如果tableShow
是javascript方法,那么您可以使用以下标记
<asp:Button ID="Button2" runat="server" Font-Bold="False"
OnClientClick="tableShow();" onclick="Unnamed1_Click" Text="Search"
Width="63px">
答案 1 :(得分: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
}
答案 2 :(得分:0)
另一种选择是使用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()"
。
第二个按钮(清除一行并设置“干净”标志so onbeforeunload won't run),我没有使用任何服务器端代码,只使用客户端OnClientClick="javascript:ResetSaveFlag(); javascript:clearEntries(this)"
。第一个清除“脏”标志,第二个清除任何条目的行。
如果有人有兴趣我可以发布干净&amp;脏旗JS,但它与原来的问题似乎没有密切关系。