2015-10-13 74 views
0

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> 

和GridView代码

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

回答

0

使用此片段
将JavaScript代码在你的页面

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

的头块使用这个脚本你可以禁用支持disabl的页面上的任何控件e属性/属性。只是通过this作为参数传递给disableDel JavaScript函数例如

<asp:Button ID="Save" runat="server" title="Save" OnClientClick="disableDel(this);" /> 
<asp:Button ID="Edit" runat="server" title="Edit" OnClientClick="disableDel(this);" /> 

JavaScript函数需要定义一次只

0

我已经迫使矿做了回发并成功进入到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...';"/>