大家好我正在使用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按钮单击事件我试图假另一个按钮的可见属性提交,但我成功了,所以请告诉我如何将visible属性设置为false EXPORTTOEXCEL按钮单击事件
请尽快回复我的工作
提前感谢所有人
答案 0 :(得分:1)
您在回发时将按钮可见性设置为false,但在同一请求中,您将清除响应并输出Excel数据。所以带有隐形按钮的控制树永远不会回到客户端。
我猜您要这样做是为了在生成Excel时隐藏用户的按钮。如果是这种情况,最好的办法是使用客户端javascript来隐藏按钮。
您可以在按钮的OnClientClick属性中插入此javascript:
document.getElementById('<%=btnexport.ClientID%>').style.display = none;