GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”

在做导出数据到EXCEL程序中,出现了错误提示:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记

解决办法  重写 VerifyRenderingInServerForm:

public override void VerifyRenderingInServerForm(Control control)
{
     //base.VerifyRenderingInServerForm(control);
}

VerifyRenderingInServerForm MSDN:

如果该页当前不处于页处理中的呈现阶段,且位于 <form runat=server> 标记内,则该方法将引发异常。需要位于服务器窗体内的控件可以在呈现期间调用该方法,以便在它们被放置到外面时显示明确的错误信息。发送回或依赖于注册的脚本块的控件应该在 Control.Render 方法的重写中调用该方法。呈现服务器窗体元素的方式不同的页可以重写该方法以在不同的条件下引发异常。

如果回送或使用客户端脚本的服务器控件没有包含在 HtmlForm 服务器控件 (<form runat="server">) 中,它们将无法正常工作。这些控件可以在呈现时调用该方法,以在它们没有包含在 HtmlForm 控件中时提供明确的错误信息。

开发自定义服务器控件时,通常在为任何类型的输入标记重写 Render 方法时调用该方法。这在输入控件调用 GetPostBackEventReference 或发出客户端脚本时尤其重要。复合服务器控件不需要作出此调用。

除非要创建替换页框架,否则请不要重写此方法。

为什么这么做:

页面的每个服务器端控件都会执行这个方法
时间: 2024-10-31 15:22:39

GridView”的控件 必须放在具有 runat=server 的窗体标记内 “错误提示”的相关文章

导出excel时报错:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内。

在把数据导出到excel的时候,有时候会这样的错误:类型“GridView”的控件“GridView1”必须放在具有 runat=server 的窗体标记内. System.Web.UI.Control ctl=this.GridView1; //DataGrid1 是你在窗体中拖放的控件 HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls

关于类型“LinkButton”的控件“xxx”必须放在具有 runat=server 的窗体标记内问题的解决方案

1.首先确认LinkButton控件包含在Form中,检查该Form有无runat标记,如果有,排除Form原因,请继续看. 2.如果看到这里,估计你是在做Excel导出功能.在后台代码中重写VerifyRenderingInServerForm方法: public override void VerifyRenderingInServerForm(Control control) { // Confirms that an HtmlForm control is rendered for }

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

问题:类型“Grid1”的控件“XXXX”必须放在具有 runat=server 的窗体标记内. 注:Grid1为表格的ID. 查找网上的解决大致为: 1)把Grid放到<form runat="server"></form>间. 2)给Grid加标记runat="server". 查明前台Grid确实有加标记runat="server"的,而且表格是放在form中的. 解决方法:在后台代码加上以下重写方法 public

动态添加HTML表单控件,无(runat=&quot;server&quot;)

JS部分<script> var allChildCount; //整个模块 allChildCount = 1; var sTxt = "<%=htmlselectName%>"; function addChildModel() { allChildCount++; var rown = filetb.rows.length; newRow = filetb.insertRow(rown); newRow.id = "mytdb" + a

Gridview表格控件

Gridview表格控件 效果图: 分析: 使用和ListvVew很像,都是经过适配器将数据绑定到控件上 具体步骤如下: 1.创建GridView控件,并指定列数 android:numColumns="3" 2.创建显示数据项的数据容器,是一个Lauout文件,里面一个ImageView,一个TextView 上面是ImageView,"小白10"是TextView显示的 3.创建好数据,这里用List来实现 private List<HashMap<

c# asp.net 鼠标改变控件坐标位置,更改控件坐标,注册表保存读取,打印,查找局域网内打印机等等收集

界面虽然被我弄的很难看,但功能还可以 里边注册表的路径自己设置一下,或者加一个创建注册表的语句,不然会报错 前台: Html代码   <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="FPSZ.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML

基于浏览器的文档处理控件TX Text Control .NET Server for WP

TX Text Control .NET Server for WPF控件为用于ASP.NET服务器环境提供一个完全可编程的文字处理引擎,并且包含一个WPF客户端版本 具体功能: 合并Microsoft Word模板,生成打印就绪的PDF文件 在浏览器中以所见即所得模式编辑处理文档 从同一个文档的每一页中生成图片或meta文件 使用来自不同源的数据从零开始通过编程生成文档 在所有支持的格式之间转换文档 完全独立于 Microsoft Word, Adobe Acrobat,及其他第三方软件 一台

GridView网格控件

一.GridView控件用于显示一个网格图像, GridView主要是用在一些相册的布局显示图片.GridView采用的是二维表的方式显示单元格,就需要设置二维表的行和列.设置GridView的列可以使用<GridView>标签的columnWidth属性.也可以使用GridView类的setColumnWidth方法来设置列数,GridView中的单元格会根据列数自动拆行显示,因此不需要设置GridView的行数,但是需要设置android:numColumns属性.否则GridView只会

C#中“类似GridView等控件”的前台显示与后台数据变化之间的关系

最近用dev的treelist,gridcontrol等控件,这些控件显示数据都需要进行DataTable等数据源的绑定,而经理又要求可以随时更改其中的内容,刚开始总是不断的刷新控件.更新控件的数据源(我这里就需要从数据库重新取数据)感觉特别麻烦. 这两天在更改代码时发现了一些我觉的很快捷的地方,在这里提一下: ※这里我的数据源都是以DataTable来做的 1.当从数据库取出数据并赋予datatable之后,接下来只要不再去连接数据库,这时对datatable的所有操作都不会影响数据库内的数据