将数据导出到Excel时,问题显示为按钮的错误

时间:2010-11-28 09:02:40

标签: c# asp.net

大家好我正在使用c#.net来制作web应用程序。 我正在制作一个将gridview数据导出为ex​​cel的网页。我的代码如下

    protected void btnexport_Click(object sender, EventArgs e)
    {
        btnsubmit.Visible = false;
        exporttoexcel();
        expToExcel();
    }

    public override void VerifyRenderingInServerForm(Control control)
    {
        //base.VerifyRenderingInServerForm(control);
    }

    public void exporttoexcel()
    {
        Context.Response.Clear();

        Context.Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");

        Context.Response.Charset = "";

        Context.Response.Cache.SetCacheability(HttpCacheability.NoCache);

        Context.Response.ContentType = "application/vnd.xls";

        System.IO.StringWriter stringWrite = new System.IO.StringWriter();

        System.Web.UI.HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWrite);

        GridView1.RenderControl(htmlWrite);

        Context.Response.Write(stringWrite.ToString());

        Context.Response.End();

    }

我的gridview数据导出到excel成功但在EXPORTTOEXCEL按钮单击事件我试图假另一个按钮的可见属性提交,但我成功了,所以请告诉我如何将visible属性设置为false EXPORTTOEXCEL按钮单击事件

请尽快回复我的工作

提前感谢所有人

1 个答案:

答案 0 :(得分:1)

您在回发时将按钮可见性设置为false,但在同一请求中,您将清除响应并输出Excel数据。所以带有隐形按钮的控制树永远不会回到客户端。

我猜您要这样做是为了在生成Excel时隐藏用户的按钮。如果是这种情况,最好的办法是使用客户端javascript来隐藏按钮。

您可以在按钮的OnClientClick属性中插入此javascript:

document.getElementById('<%=btnexport.ClientID%>').style.display = none;