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

时间:2017-02-09 04:40:21

标签: c# 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>

请告诉我谢谢。

1 个答案:

答案 0 :(得分:0)

删除UpdatePanel周围的btnExport,无论如何都没有意义,因为它是那里唯一的元素,你通过设置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>内。