1

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

在 aspx 上:

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

在 aspx.cs 上:

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

如您所见,我已设置OnClientClick="return false;"为不会进行回发。回发不会发生。但是后面的代码没有被触发。我希望触发后面的代码,并且在单击链接按钮时我不希望回发。

我怎样才能做到这一点?

谢谢。

4

2 回答 2

2

删除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在页面中添加一个。

于 2013-04-07T03:39:47.450 回答
1

在 updatepanel 中添加链接按钮,删除链接按钮的 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";
}
于 2013-04-07T04:03:36.537 回答