您现在的位置: 365建站网 > 365学习 > .net防止页面生成__VIEWSTATE

.net防止页面生成__VIEWSTATE

文章来源:365jz.com     点击数:164    更新时间:2011-02-19 09:42   参与评论

1.引入命名空间

using System.IO;
using System.Text.RegularExpressions;

2.重写Page类的Render方法:

    protected override void Render(HTMLTextWriter writer)
    {
        StringWriter sw= new StringWriter();
        base.Render(new HtmlTextWriter(sw));//获取正常输出的html,包含__VIEWSTATE

        string html = sw.ToString();

        html = Regex.Replace(html, @"<div[\s\S]*?__VIEWSTATE[\s\S]*?</div>", "");//过滤__VIEWSTATE
        writer.WriteLine(html.Trim());//输出过滤后的html

    }

只需上面的操作即可将页面中冗余的__VIEWSTATE清除,你可以试试

不过要注意,清除了viewstate后,不影响页面布局,但是页面的许多事件都触发不了了,这也是一般不清除viewstate的原因,慎用。

在生成静态页面的时候用的较多。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛


发表评论 (164人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片
最新评论
------分隔线----------------------------