c# - 将数据导出到 excel 时按钮可见错误的问题

标签 c# asp.net

大家好,我正在使用 c#.net 制作网络应用程序。 我正在制作一个将 gridview 数据导出到 excel 的网页。我的代码如下

    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 按钮单击事件中,我试图伪造另一个按钮提交的可见属性,但我成功地做到了,所以请告诉我如何将可见属性设置为 false EXPORTTOEXCEL按钮点击事件

工作中途请尽快回复我

提前感谢大家

最佳答案

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

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

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

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

关于c# - 将数据导出到 excel 时按钮可见错误的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4296095/

相关文章:

c# - LINQ 中的多个 .Where() 语句是性能问题吗?

c# - .NET HBase REST API 客户端库 - 从 MVC5 Controller 调用

c# - cs0553 不允许从基类进行用户定义的转换

javascript - 由于 jQuery Mobile,IE9 窗口失去焦点

c# - 收到警告, 'Type Parameter X Hides Interface X'

C# 让程序等到浏览器完成加载网页

c# - Xpath 无法解析 XML : Namespace manager or XsltContext needed

c# - 如何在 QueryString 中编码 DateTime 并在 asp :QueryStringParameter 中读取它

ASP.NET session 超时问题

asp.net - 为什么程序立即启动和退出?