禁用Linkbutton的回发

时间:2013-04-07 02:57:06

标签: asp.net

我正在使用ASP.NET LinkBut​​ton。 我有一个LinkBut​​ton,它从onclick调用代码:

on aspx:

 <asp:LinkButton ID="LinkTest" runat="server" onclick="LinkTest_Click" OnClientClick="return false;"  >LinkButton</asp:LinkButton>

on aspx.cs:

 protected void LinkTest_Click(object sender, EventArgs e)
    {
        //code here
    }

正如您所看到的,我已设置OnClientClick="return false;"以便它不会进行回发。 回发不会发生。但是背后的代码并没有被解雇。 我希望后面的代码可以触发,而且在点击链接按钮时我不需要回发。

我该怎么做?

感谢。

2 个答案:

答案 0 :(得分:2)

删除linkbutton的OnclientClick属性。尝试使用UpdatePanel之类的:

<asp:UpdatePanel ID="up1" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="LinkTest" EventName="Click" />
    </Triggers>
    <ContentTemplate>
          <asp:label id="Label1" runat="server" Text="Initial Label" />
    </ContentTemplate>
</asp:UpdatePanel>

此外,您需要在页面中添加ScriptManager

答案 1 :(得分:1)

在updatepanel中添加linkbutton, 删除linkbutton的onclientclick属性:

页:

    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Label ID="lblName" runat="server" Text="Old Value"></asp:Label>
            <br />
            <asp:LinkButton ID="lnkbtChange" runat="server" OnClick="lnkbtChange_Click">Change</asp:LinkButton>
        </ContentTemplate>
    </asp:UpdatePanel>

代码隐藏:

protected void lnkbtChange_Click(object sender, EventArgs e)
{
    lblName.Text = "New value";
}