首次单击后,在UpdatePanel中禁用LinkBut​​ton

时间:2012-03-15 23:55:05

标签: asp.net updatepanel linkbutton

我正在开发一个ASP.NET webforms页面,它具有以下asp标记(删除了其他控件):

<asp:UpdatePanel ID="updatePanel1" runat="server">
    <ContentTemplate>
        <asp:LinkButton ID="lnkbtnPreviousTop" OnClick="LinkButtonPrevious_Click"
            Text="Previous" runat="server">
        </asp:LinkButton>
    </ContentTemplate>
</asp:UpdatePanel>

现在,如果多次单击此LinkBut​​ton,服务器端的LinkButtonPrevious_Click事件处理程序将触发单击链接的次数。如何在第一次单击后禁用lnkbtnPreviousTop LinkBut​​ton,但事件处理程序仍会触发一次并刷新UpdatePanel?

我尝试将this.disabled = true;添加到OnClick属性,但事件处理程序代码永远不会被命中。

2 个答案:

答案 0 :(得分:2)

只需在onclick中直接调用回发,例如:

lnkbtnPreviousTop.Attributes.Add("onclick", "this.disabled=true;" + Page.ClientScript.GetPostBackEventReference(lnkbtnPreviousTop, "").ToString());

答案 1 :(得分:0)

您能否在第一次单击后共享禁用asp:LinkBut​​ton的解决方案的答案?

@Michael Hornfeck

我尝试使用JavaScript函数,但我没有回答

<script type="text/javascript">
        function disabledLinkBringDataFlow() {
           
            document.getElementById('btnBringDataFlow').setAttribute("disabled", "");
           
            //document.getElementById("btnBringDataFlow").disabled = true;
        }
    </script>