宝哥软件园

使用常规Regex去除网页EnableViewState的实现思想和代码

编辑:宝哥软件园 来源:互联网 时间:2021-10-04

当您创建网页时,您可以不写任何东西就运行它,然后查看视图源,您会看到下面的段落。

此时,您可能还记得网页上有一个属性EnableViewState,可以设置为False,但似乎没有任何效果。

事实上,在网页上有ViewState并不是一件坏事,但有时我们并不需要它。怎么做?首先,回过头来看第一张图片,第12行代码,也就是高亮部分,就是我们要去掉的部分。我们可以用普通的

,然后网页被重新渲染,以便可以删除它。在aspx.cs或aspx.vb中,参考namespace:复制代码如下:使用System使用系统。IO;使用系统。文字;使用系统。文本。正则表达式;使用系统。Web使用系统。Web . UI接下来,重写Render()方法。复制代码如下:受保护的重写void render(html text writer writer){ stringbuilder sb=newstringbuilder();StringWriter SW=new StringWriter(sb);html text writer HWriter=new HTMl text writer(SW);基地。渲染(HWriter);字符串html=sb。ToString();html=Regex。替换(html,'input[^]*id='(__viewstate)'[^]*',字符串。空的,正则表达式选项。ignore case);作家。write(html);}当然,以上仅针对单个网页。如果要从多个网页中移除ViewState,可以将其写入一个BasePage基类,即要实现的网页,然后继承这个BasePage。

更多资讯
游戏推荐
更多+