protected void btnImport_Click(object sender, EventArgs e)
{
if (GridViewID.Rows.Count != 0)
{
DisableControls(GridViewID);
Response.Clear();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AddHeader("content-disposition", "attachment;filename=/"" + HttpUtility.UrlEncode("文件名", System.Text.Encoding.UTF8) + ".xls/"");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.ContentType = "application/ms-excel";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
this.GridViewID.RenderControl(oHtmlTextWriter);
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
}
}
public override void VerifyRenderingInServerForm(Control control)
{ }
private void DisableControls(Control gv)
{
DropDownList dr = new DropDownList();
TextBox tb = new TextBox();
Literal l = new Literal();
string name = String.Empty;
for (int i = 0; i < gv.Controls.Count; i++)
{
if (gv.Controls[i].GetType() == typeof(DropDownList))
{
l.Text = (gv.Controls[i] as DropDownList).SelectedItem.Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
else if (gv.Controls[i].GetType() == typeof(TextBox))
{
l.Text = (gv.Controls[i] as TextBox).Text;
gv.Controls.Remove(gv.Controls[i]);
gv.Controls.AddAt(i, l);
}
if (gv.Controls[i].HasControls())
{
DisableControls(gv.Controls[i]);
}
}
}