如何在asp.net中单击gridview编辑按钮时禁用导出按钮

问题描述:

在我的应用程序中,我有导出按钮,当我点击编辑命令中的网格视图时,我想在启用后禁用导出按钮。我禁用编辑命令中的导出按钮,但当我点击编辑按钮时,它显示在分钟秒内禁用和页面回发后它启用如何禁用导出按钮有或没有回发时,我点击编辑命令。 我的代码:如何在asp.net中单击gridview编辑按钮时禁用导出按钮

<asp:UpdatePanel ID="panl1" runat="server"> 
    <ContentTemplate> 
     <asp:Panel ID="pnl1" runat="server"> 
      <asp:Button ID="btnExport" runat="server" OnClick="btnExport_Click" Text="Export" /> 
     </asp:Panel> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<triggers> 
    <asp:PostBackTrigger ControlID="btnExport" /> 
</triggers> 

<asp:GridView ID="GridView2" runat="server" Width="100%" CssClass="mydatagrid" HeaderStyle-CssClass="header" RowStyle-CssClass="rows" AutoGenerateColumns="false" 
    EmptyDataText="No files uploaded" OnRowCommand="GridView1_RowCommand" OnRowDataBound="GridView1_RowDataBound" OnDataBound="GridView1_DataBound"> 
    <Columns> 
     <asp:TemplateField HeaderText=" "> 
      <ItemTemplate> 
       <asp:ImageButton ID="Btn1" runat="server" Text="Edit" CommandName="mybutton" Width="20px" ImageUrl="~/images/page_white_edit.png" ToolTip="Edit" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

请告诉我,谢谢。

+0

你可以提供你的页面在你点击GridView的按钮之前和之后的屏幕截图 – CurseStacker

+0

Hi @CurseStacker,当我点击编辑图像时,我添加了我的gridview图像,只是它显示禁用,并在页面回发后显示启用。在我的gridview有筛选行使用数据表插件,我补充说,如果没有找到匹配记录我禁用导出按钮正常位置后 – Ben805

+0

在您的页面标记,你没有显示GridView的位置。请包括所以我们可以看到你的GridView是如何设计的。 – CurseStacker

删除UpdatePanelbtnExport,它是没有任何意义的,因为它是那里唯一的元素,你通过设置一个PostBackTrigger到按钮取消UpdatePanel功能。或者将GridView放置在UPdatePanel的内部并保留PostBackTrigger。无论采用哪种方式,您都可以在GridView RowCOmmand方法中禁用/启用编辑命令中的按钮。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    if (e.CommandName == "mybutton_edit") 
    { 
     btnExport.Enabled = false; 
    } 
    else if (e.CommandName == "mybutton_cancelEdit") 
    { 
     btnExport.Enabled = true; 
    } 
} 

PS的<Triggers>必须放在内<asp:UpdatePanel>