`

重载VerifyRenderingInServerForm介绍

阅读更多
Page. VerifyRenderingInServerForm 方法

确认在运行时为指定的 ASP.NET 服务器控件呈现 HtmlForm 控件
[C#]
public virtual voidVerifyRenderingInServerForm(
   Controlcontrol
);

参数
control
ASP.NET 服务器控件,它必须位于 HTMLForm 控件中。

异常

异常类型 HttpException

条件
指定的服务器控件在运行时不包含在 HtmlForm 服务器控件的开始和结束标记之间。



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

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

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

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

重载VerifyRenderingInServerForm,然后让它什么也不做。


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

跟踪了一下,发现页面的每个服务器端控件都会执行这个方法,结合我自己的实际情况,做了点小修改

public override void VerifyRenderingInServerForm(Control control)
        {
            if (!control.GetType().Name.Equals("DataGridLinkButton"))
            {
                base.VerifyRenderingInServerForm (control);
            }
        }


因为我需要获得一个控件的HTML输出到画面上,而这个控件是我new出来的,显然不可能在<form runat=server> 标记内,于是我就加了个判断,虽然还是没有做到十全十美(就是如果画面上本来就有的DataGridLinkButton也不做验证了。)但感觉比起直接把base方法调用注释掉还是合情合理些
分享到:
评论

相关推荐

    C#中的重载

    重载VerifyRenderingInServerForm Page. VerifyRenderingInServerForm 方法

    解决gridview的excel导出问题

    本文将详细介绍如何解决GridView导出至Excel时可能遇到的问题,并提供具体的解决方案。 #### 一、基本导出流程 首先,我们来看一个基本的导出流程: ```csharp Response.Clear(); Response.AddHeader("content-...

    普通生成Excel的方法及注解

    此外,代码中还出现了一个`VerifyRenderingInServerForm`方法,这是ASP.NET框架提供的,用于验证是否在服务器表单内进行渲染。默认情况下,所有服务器控件必须位于`&lt;form runat="server"&gt;`标签内,否则会抛出异常。 ...

    js获取UserControl内容为拼html时提供方便

    根据描述,问题的根源在于UserControl继承自Page类,而且使用了VerifyRenderingInServerForm方法进行验证,导致在异步调用中无法通过测试。 首先,我们来了解UserControl和Page类的关系。在***中,UserControl相当...

    精典简单vs.NET 下SQL数据库导出/导入Excel

    - 覆盖 `VerifyRenderingInServerForm` 方法,以避免某些安全检查带来的问题。 - 在页面的 `&lt;page&gt;` 标签中添加 `EnableEventValidation="false"` 属性,以禁用事件验证机制。 #### 三、SQL 数据导入 Excel 的...

    GridView导出到Excel

    public override void VerifyRenderingInServerForm(Control control) { // 必须重载此方法,否则在某些情况下可能会抛出异常 } ``` #### 四、高级技巧:保持数字格式 在导出数据时,为了保持数字的原始格式(如...

    gridview导出excel表格

    本文将详细介绍如何通过ASP.NET Web Forms技术,利用GridView控件将数据导出到Excel文件中。 #### 二、准备工作 1. **环境搭建**:确保已经安装了.NET Framework开发环境,并且创建了一个新的ASP.NET Web Forms项目...

    GridView Export To Word or Excel

    Innovation.NET 开发的GridView Export To Word or Excel类别库(.DLL),请叫用GridViewExportToExcel(GridView objGridView, string ...public override void VerifyRenderingInServerForm(Control control) { }

    GridView 导出到 Excel文件中

    在本例中,虽然GridView本身不需要调用`VerifyRenderingInServerForm`,但这个知识点是理解ASP.NET控件工作原理的关键。 接下来,我们看如何将GridView导出到Excel文件。主要步骤如下: 1. **准备数据源**:在本例...

    GridView中的数据导出为Excel

    此外,为避免在导出过程中出现服务器错误,需要重写`VerifyRenderingInServerForm`方法: ```csharp public override void VerifyRenderingInServerForm(Control control) {} ``` 这样,当用户点击导出按钮时,将...

    关于.netGridView转换为Excel文件的研究

    如果无法调整控件的位置,可以尝试重写Page基类的`VerifyRenderingInServerForm`方法,如以下代码所示: ```csharp public override void VerifyRenderingInServerForm(Control control) { // Confirms that an ...

    将GridView显示的内容导出为Excel

    为了防止在导出过程中出现服务器表单验证错误,你需要重写`VerifyRenderingInServerForm`方法: ```csharp public override void VerifyRenderingInServerForm(Control control) { // 空实现,防止导出Excel时引发...

    导出Microsoft Excel .xls

    此篇内容主要介绍如何利用ASP.NET WebForms技术将一个`GridView`中的数据导出到Microsoft Excel `.xls`格式的文件中。 #### 二、导出方法实现步骤 实现这个功能的主要思路是通过服务器端代码(通常使用C#)将`...

    gridview打印

    `VerifyRenderingInServerForm` 方法重写,目的是允许 GridView 在非表单环境下渲染,因为我们需要在 JavaScript 中操作它。 值得注意的是,实际应用中,你需要将 `GridView1.DataSource` 设置为实际的数据源,例如...

    Asp.net中的GridView导出遇到的两个问题和解决方法

    在***中实现GridView导出功能时,开发者可能会遇到两个具体问题:第一,类型“Grid1”的控件“gvCompareDetail”...通过上述方法和知识点的介绍,希望开发者在遇到类似问题时能够快速定位并解决,有效提高开发效率。

    ASP.NET导出报表

    4. **特殊处理**:为了绕过ASP.NET的默认行为,即验证所有服务器控件是否都在服务器表单内,通常需要覆盖`VerifyRenderingInServerForm`方法。这是因为在导出过程中,我们不希望ASP.NET进行此检查,因为它可能会导致...

    ASP.NET常见错误总结.docx

    解决:在后台代码中添加`VerifyRenderingInServerForm`方法以确认控件在服务器端渲染。 12. TreeView.HoverStyle错误 解决:在`&lt;head&gt;`标签中添加`runat="server"`,以确保服务器端样式有效。 13. 未知的服务器...

    GridView导出Excel研究

    - `VerifyRenderingInServerForm`方法的重写是为了避免在某些情况下引发服务器验证错误。在ASP.NET中,这是必要的,因为导出操作不涉及实际的HTML表单提交,但Web Forms框架可能会尝试验证。 6. **用户体验**: -...

    gridView导出Excel

    在导出Excel时,需要覆盖`VerifyRenderingInServerForm`方法,并留空,以避免在不适当的时间调用`RegisterForEventValidation`。这是因为导出操作不需要页面的事件验证。 4. **导出逻辑**: 导出到Excel的过程通常...

Global site tag (gtag.js) - Google Analytics