当前位置:编程学习 > C#/ASP.NET >>

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

我想在点击控件打印后将GridView表格里的值放进execl里打出来。
   protected void Button2_Click(object sender, EventArgs e)
    {//打印入住旅客登记信息
        //Server.Transfer("DayMenuPrint.aspx");
         this.Response.ContentType = "application/vnd.ms-excel";
        this.Response.Charset = "";
        //关闭 ViewState
        this.EnableViewState = false;
        System.IO.StringWriter MyWriter;
        System.Web.UI.HtmlTextWriter MyWeb;
        //将信息写入字符串
        MyWriter = new System.IO.StringWriter();
        //在Web窗体页上写出一系列连续的HTML特定字符和文本
        MyWeb = new System.Web.UI.HtmlTextWriter(MyWriter);
        //将DataGrid中的内容输出到HtmlTextWriter对象中
        this.checkout.RenderControl(MyWeb);
        //把HTML写回浏览器
        Response.Write(MyWriter.ToString());
       }
总是报类型“GridView”的控件“checkout”必须放在具有 runat=server 的窗体标记内的错这是怎么会事啊。。 --------------------编程问答-------------------- public override void VerifyRenderingInServerForm(Control control)  
{  
}  

在Page指令中设置属性EnableEventValidation = "false" --------------------编程问答-------------------- 在页面加载时,重载一个方法:  
 public override void VerifyRenderingInServerForm(Control control)
 {
     //不需要添加内容
 } 

  这样就好了!

补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,