【问题标题】:problem to visible false of button when export data to excel将数据导出到excel时按钮可见错误的问题
【发布时间】:2010-11-28 09:02:40
【问题描述】:

大家好,我正在使用 c#.net 来制作 web 应用程序。 我正在制作一个将 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 按钮点击事件

请尽快回复我,我的工作正在进行中

提前谢谢大家

【问题讨论】:

  • 我猜 btnexport.Visible = false;

标签: c# asp.net


【解决方案1】:

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

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

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

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

【讨论】:

  • 感谢您的回答,但它仍然无法正常工作我无法将按钮的属性设置为 false 请给我另一个解决方案,如果您有任何其他代码可以将 gridview 数据导出到 excel 请给我
猜你喜欢
  • 2020-11-19
  • 2020-10-30
  • 2018-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多