• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    使用正则Regex来移除网页的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 生成静态时的过滤viewstate的实现方法
    • asp.net 去除viewstate
    • asp.net 禁用viewstate在web.config里
    • asp.net viewstate 回发机制
    • asp.net生成静态后冗余代码,去掉viewstate生成的代码
    • 状态保存机制之ViewState概述及应用
    • 禁止ViewState的3种解决方法
    • viewstate和datatable动态录入数据示例
    • asp.net中ViewState的用法详解
    • ASP.NET中控件的EnableViewState属性及彻底禁用
    上一篇:在程序中使用Cookie集合(定义/新建/删除)及案例讲解
    下一篇:子窗口给父窗口赋值实现思路及案例演示
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

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