在gridView 导出Excel报这样的错误“/WebSite9”应用程序中的服务器错误。
--------------------------------------------------------------------------------类型“GridView”的控件“gdvView”必须放在具有 runat=server 的窗体标记内。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Web.HttpException: 类型“GridView”的控件“gdvView”必须放在具有 runat=server 的窗体标记内。源错误: 
行 57:         System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
行 58:         System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
行 59:         this.gdvView.RenderControl(oHtmlTextWriter);
行 60:         //GridView1为要导出的GridView控件的ID.使用时只需要修改这里即可。
行 61:         Response.Output.Write(oStringWriter.ToString());
 源文件: d:\Backup\我的文档\Visual Studio 2005\WebSites\WebSite9\Default.aspx.cs    行: 59 堆栈跟踪: 
[HttpException (0x80004005): 类型“GridView”的控件“gdvView”必须放在具有 runat=server 的窗体标记内。]
   System.Web.UI.Page.VerifyRenderingInServerForm(Control control) +214
   System.Web.UI.WebControls.GridView.Render(HtmlTextWriter writer, Boolean renderPanel) +37
   System.Web.UI.WebControls.GridView.Render(HtmlTextWriter writer) +31
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +53
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +280
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +24
   _Default.btnExce_Click(Object sender, EventArgs e) in d:\Backup\我的文档\Visual Studio 2005\WebSites\WebSite9\Default.aspx.cs:59
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +75
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +98
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4919 
求救

解决方案 »

  1.   

    看下你的gridview哪个页面的前台代码
      

  2.   

    这是GridView aspx页面
    <%@ Page Language="C#" Debug="true"  AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div runat="server" id="div1">
            <asp:GridView ID="gdvView" runat="server"></asp:GridView>
        </div>
        <asp:Button ID="btnExce" runat="server" Text="button" OnClick="btnExce_Click" />
        </form>
    </body>
    </html>
      

  3.   

    加上
    public  override  void  VerifyRenderingInServerForm(Control  control) 


    这个方法