• ContentPlaceHolder必须放在具有 runat=server 的窗体标记内


    类型“GridView”的控件“ctl00_contentBody_gridView4Export”必须放在具有 runat=server 的窗体标记内。

     页面是从母版页继承的,而gridview所在的ContentPlaceHolder确定是放在form中的。

    以前只有控件未放在form中才会抛出同类异常。

     1 protected void btExport_Click(object sender, EventArgs e)
     2     {
     3         // get dataset
     4         SRMReportService.ReportService srv = ServiceFactory.ReportService();
     5         DataSet ds = srv.QueryAllData_Vendor_CheckAmount_Summary(
     6             (string)this.ViewState["PlantCode"],
     7             (string)this.ViewState["PeriodCode"],
     8             (string)this.ViewState["VendorCode"]);
     9 
    10         // bind to gridview
    11         this.gridView4Export.DataSource = ds;
    12         this.gridView4Export.DataBind();
    13 
    14         // export
    15         this.ExportToExcel(this.gridView4Export);
    16     }
    17 
    18 
    19 
    20 
    21     public void ExportToExcel(System.Web.UI.Control ctl)
    22     {
    23 
    24         Response.AppendHeader("Content-Disposition"
    25             "attachment;filename=Excel.xls");
    26         Response.ContentEncoding = 
    27             System.Text.Encoding.GetEncoding("GB2312");
    28         Response.ContentType = "application/ms-excel";
    29         
    30         System.Globalization.CultureInfo myCItrad = 
    31             new System.Globalization.CultureInfo("ZH-CN"true);
    32         System.IO.StringWriter tw = 
    33             new System.IO.StringWriter(myCItrad);
    34         try
    35         {
    36             System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(tw);
    37             ctl.RenderControl(hw);
    38             Response.Write(tw.ToString());
    39             Response.End();
    40         }
    41         finally
    42         {
    43             tw.Close();
    44         }
    45     }
    46 

    在您的codebehind文件中,继承自page基类的那个页面类中复制如下代码进去:
        public override void VerifyRenderingInServerForm(Control control)
        {
            // Confirms that an HtmlForm control is rendered for
        }

  • 相关阅读:
    关于xml中有特珠字符而导致XmlDocument无法Load的处理
    【转载】Session分布式共享 = Session + Redis + Nginx
    jQuery ajax 请求php遍历json数组到table中
    VS2015+MySql+EF6采坑经验总结
    请教如何用ASP.NET实现http://abc.com/orderID这样的URL???
    silverlight chart 折线图 的线颜色如何修改???
    SL 的 DATAGRID中如何加入计算列?
    中软酒店管理系统之会员消费短信提醒工具开发
    enable_shared_from_this
    python,flask,login,login_request
  • 原文地址:https://www.cnblogs.com/rooney/p/1267045.html
Copyright © 2020-2023  润新知