使用正则Regex来移除网页的EnableViewState实现思路及代码

 更新时间:2013年01月27日 13:26:14   作者:  
创建好网页时,什么都没有写,但运行时会发现源程序(View Source),下面一段,此刻,也许你会想起,在网页有一个属性EnableViewState,在某些时候我们并不需要它,接下来将介绍如何移除它,感兴趣的朋友可以了解下啊

当你创建好一个网页时,什么都没有写,就可以运行,然后查看源程序(View Source),就会看到下面一段。

此刻,也许你会想起,在网页有一个属性EnableViewState,可设为False,但似乎不见效果。

其实网页有ViewState并不是坏事,但有时我们不需要它。怎样办?
首先回过头来,看第一幅图片,第12行代码,即高亮部分,是我们想移掉的部分。我们可以使用正则,然后网页重新Render,就可把它拿掉。

在.aspx.cs 或.aspx.vb引用namespace:

复制代码 代码如下:

using System;
using System.IO;
using System.Text;
using System.Text.RegularExpressions;
using System.Web;
using System.Web.UI;

接下来,重写Render()方法。
复制代码 代码如下:

protected override void Render(HtmlTextWriter writer)
{
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter hWriter = new HtmlTextWriter(sw);
base.Render(hWriter);
string html = sb.ToString();
html = Regex.Replace(html, "<input[^>]*id=\"(__VIEWSTATE)\"[^>]*>", string.Empty, RegexOptions.IgnoreCase);
writer.Write(html);
}

当然,上面只是针对单个网页,如果你想要多个网页移除ViewState时,你可以写在一个BasePage基类,需要实现的网页,再继承这个BasePage.

相关文章

  • asp.net求3位不同数字的组合数

    asp.net求3位不同数字的组合数

    用asp.net实现不同数字的组合数的两种方法与代码
    2008-05-05
  • Visual Studio 2013+OpenCV2.4.10环境搭建教程

    Visual Studio 2013+OpenCV2.4.10环境搭建教程

    这篇文章主要为大家详细介绍了Visual Studio 2013+OpenCV2.4.10环境搭建教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • ASP.NET Core集成Apollo(阿波罗)

    ASP.NET Core集成Apollo(阿波罗)

    这篇文章介绍了ASP.NET Core集成Apollo的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • 在FireFox/IE下Response中文文件名乱码问题解决方案

    在FireFox/IE下Response中文文件名乱码问题解决方案

    只是针对没有空格和IE的情况下使用Response.AppendHeader()如果想在FireFox下输出没有编码的文件,并且IE下输出的文件名中空格不为+号,就要多一次判断了,接下来将详细介绍下感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • Blazor组件的生命周期解析

    Blazor组件的生命周期解析

    这篇文章介绍了Blazor组件的生命周期,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-04-04
  • .NET Web开发之.NET MVC框架介绍

    .NET Web开发之.NET MVC框架介绍

    MVC是一种架构设计模式,该模式主要应用于图形化用户界面(GUI)应用程序。那么什么是MVC?MVC由三部分组成:Model(模型)、View(视图)及Controller(控制器)
    2014-03-03
  • Visual Studio寻找C#程序必要的运行库文件

    Visual Studio寻找C#程序必要的运行库文件

    这篇文章主要为大家详细介绍了Visual Studio寻找C#程序必要的运行库文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • .NET CORE中比较两个文件内容是否相同的最快方法

    .NET CORE中比较两个文件内容是否相同的最快方法

    这篇文章主要给大家介绍了关于.NET CORE中比较两个文件内容是否相同的最快方法,文中通过示例代码介绍的非常详细,对大家学习或者使用.NET CORE具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 手把手教你AspNetCore WebApi数据验证的实现

    手把手教你AspNetCore WebApi数据验证的实现

    这篇文章主要介绍了手把手教你AspNetCore WebApi数据验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • python scrapy项目下spiders内多个爬虫同时运行的实现

    python scrapy项目下spiders内多个爬虫同时运行的实现

    这篇文章主要介绍了python scrapy项目下spiders内多个爬虫同时运行的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04

最新评论