我有这个aspx代码
<form id="form1" runat="server">
<div id="tabs">
<ul>
<li><a href="#tabs-1" >Today</a></li>
<li><a href="#tabs-2" runat="server" onclick="TodayTab_Click">Tomorrow</a></li>
<li><a href="#tabs-3">Any Date</a></li>
虽然我使用了onclick
函数,但是这个函数没有被触发,
为什么请?7
protected void TodayTab_Click(object sender, EventArgs e) {
int i = 9;
i++;
}
你们告诉我,我必须将我的a
标签更改为asp:Hyperlink
并且我做了,但该功能仍然没有被解雇。
这是更新后的代码
<form id="form1" runat="server">
<div id="tabs">
<ul>
<li><a href="#tabs-1" >Today</a></li>
<li><asp:Hyperlink href="#tabs-2" runat="server" onclick="TodayTab_Click">Tomorrow</asp:Hyperlink></li>
<li><a href="#tabs-3">Any Date</a></li>
答案 0 :(得分:2)
您应该使用<asp:LinkButton>
控件 - 而不是<a runat="server">
或<asp:HyperLink>
。
<asp:LinkButton>
将根据您的要求使用OnClick
事件处理程序。
(作为旁注,如果您需要进行任何客户端处理,请使用OnClientClick
属性在呈现的控件上生成onclick
属性)
以下是最终的结果:
<asp:LinkButton runat="server" onclick="TodayTab_Click" Text="Tomorrow" />
答案 1 :(得分:0)
您需要使用onServerClick函数而不是onClick
onServerClick="TodayTab_Click"
答案 2 :(得分:-1)
我建议使用具有服务器端点击事件的<asp:linkbutton>
。但是,必须通过手动导航到href中的主题标签,在javascript中处理导航。 (我不建议使用此方法,因为您不需要完整的回发)
请注意,如果您不想完全刷新,这将执行完整的回发,并且需要更新面板。
或继续使用标准超链接按钮,但有一个页面方法可以处理您需要的服务器端操作并通过ajax调用它。我建议您使用此方法,因为您的服务器端只需要将非常少的数据发布到服务器上,因此您只需要在客户端上保持100%。