谢谢大家 ,请问这个问题怎么解决?初学者问题。
我在CSDN里找了一段代码,用来从DataGrid里导出数据到Excel里。
可是点导出的时候,出现这个问题。
类型“DataGridLinkButton”的控件“DataGrid1_ctl02_ctl00”必须放在具有 runat=server 的窗体标记内。
代码如果。
protected void Button2_Click(object sender, EventArgs e)
{
if (TextBox1.Text == "")
{
Response.Write("<script language=javascript>");
Response.Write("window.alert(\"请输入文件名\")");
Response.Write("</script>");
}
else
{
Response.Clear();
Response.Buffer = true;
Response.Charset = "gb2312";//设置了类型为中文防止乱码的出现
Response.AppendHeader("Content-Disposition", "attachment;filename=" + TextBox1.Text + ".xls");
Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");//设置输出流为简体中文
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
this.EnableViewState = false;
System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);
System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.DataGrid1.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
}
}
问题这个问题怎么解决?
类型“DataGridLinkButton”的控件“DataGrid1_ctl02_ctl00”必须放在具有 runat=server 的窗体标记内。
我的是vs2005
谢谢大家