C# 单击GridView中的按钮后立即禁用该按钮

C# 单击GridView中的按钮后立即禁用该按钮,c#,jquery,asp.net,vb.net,gridview,C#,Jquery,Asp.net,Vb.net,Gridview,GridView代码: <asp:GridView runat="server" ID="grid1" AutoGenerateColumns="false" ShowHeader="true"> <Columns> <asp:TemplateField HeaderText="Title"> <ItemTemplate> <asp:HyperLink ID="h

GridView代码:

<asp:GridView runat="server" ID="grid1" AutoGenerateColumns="false" ShowHeader="true">
    <Columns>
        <asp:TemplateField HeaderText="Title">
            <ItemTemplate>
                <asp:HyperLink ID="hlTitle" runat="server" />                           
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Delete">
            <ItemTemplate>                                                      
                <asp:LinkButton ID="Delete" runat="server" title="Delete" />                        
            </ItemTemplate>
        </asp:TemplateField>

我知道如何在RowCommand事件下禁用该按钮,但我在这里发现的问题是该按钮没有立即禁用-它是在任务完成后禁用的

我如何设置该选项,以便用户只能在GridView中单击按钮一次(可能是针对单击该按钮的行,但这并不重要),并立即禁用该按钮

对于那些渴望投票否决我的人,请注意,从我的研究中,我尝试了JQuery和Javascript,但它们都不起作用。但是,由于我对这些语言不是100%熟悉,我想可能还有另一个想法可以让我省去头痛。如果不是,我很乐意尝试这两种语言

编辑1

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
<script type="text/javascript">
    function disableDel(delButton, evt) {
        delButton.disabled = true;
    }
</script>
</asp:Content>

功能禁用删除(删除按钮,evt){
delButton.disabled=true;
}
和Gridview代码

        <asp:TemplateField HeaderText="Delete">
            <ItemTemplate>                                                      
                <asp:LinkButton ID="Delete" runat="server" title="Delete" OnClientClick="disableDel(this, evt);"/>                      
            </ItemTemplate>
        </asp:TemplateField>

使用此代码段
将JavaScript标记放在页面的头块中

<script type="text/javascript">
    function disableDel(delButton) {
        delButton.disabled = true;
    }
</script>
<asp:Button ID="Delete" runat="server" title="Delete" OnClientClick="disableDel(this);" />   

JavaScript函数只需定义一次

我已强制我的函数执行回发,并且它成功转到gridview的RowCommand事件

$("input[type='submit']").on("click", function () {
     var btn = $(this);
     btn.prop("disabled", true);
     btn.val("Submitting...");
     __doPostBack(btn.attr('name'), "");
});
或者将UseSubmitBehavior设置为false以使用ASP.NET回发机制,然后添加OnClientClick事件

<asp:LinkButton ID="Delete" runat="server" title="Delete" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Submitting...';"/> 

<asp:LinkButton ID="Delete" runat="server" title="Delete" UseSubmitBehavior="false" OnClientClick="this.disabled = true; this.value = 'Submitting...';"/>