asp.net onclick函数不适用于标记

时间:2014-03-19 13:30:22

标签: asp.net

我有这个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++;
        }

EDIT2

你们告诉我,我必须将我的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>

3 个答案:

答案 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%。