如果OnClientClick =“ return false”,则LinkBut​​ton OnCommand函数仅在首次单击时触发

时间:2018-10-26 15:58:59

标签: c# asp.net

所以我有一个linkBut​​ton,我不希望页面在单击时刷新,所以我有OnClientClick =“ return false;”。这样可以防止页面刷新,但是,仅在第一次单击时从OnCommand字段调用的函数才会触发。为了使其再次启动,我需要刷新页面。

如何在保持OnClientClick =“ return false;的同时使OnCommand函数每次被单击时触发”;这样页面就不会每次都刷新吗?

<asp:LinkButton CssClass="btn pauseButton" ID="pauseSubBtn" runat="server" OnCommand="populatePauseModal" CommandArgument="<%# Item.FirstName %>" OnClientClick="return false;">Pause</asp:LinkButton>

此链接按钮在列表视图的内部,该视图在更新面板的内部。我尝试设置AsyncPostBackTrigger,但是因为它位于列表视图中,所以找不到链接按钮。

1 个答案:

答案 0 :(得分:0)

您不能那样做。要处理OnCommand,您需要回发(页面刷新)。您可以使用UpdatePanel使其看起来没有页面刷新。但是似乎您已经在使用它,但是在添加触发器时遇到了麻烦。

您可以通过编程方式将触发器添加到LinkBut​​ton

protected void Page_Load(object sender, EventArgs e)
{
    foreach (ListViewDataItem item in ListView1.Items)
    {
        LinkButton lb = item.FindControl("pauseSubBtn") as LinkButton;
        ScriptManager.GetCurrent(Page).RegisterAsyncPostBackControl(lb);
    }
}