asp.net 去除viewstate

 更新时间:2009年03月26日 01:48:42   作者:  
生成了这么多的一段东西,这段东西对seo一点好处也没有。而我要做的就是去掉它,但有一点,去掉但不能让它原来的控件和内容都发生变化

ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回发时,在 Page.LoadPageStateFromPersistanceMedium 方法中被恢复。 这是我在看“木野狐”翻译的一篇文章中看到的,那么我们可以将其存到session中去,代码如下,来自网络,自做简单修改:
复制代码 代码如下:

protected LosFormatter losFormatter = new LosFormatter();

protected override object LoadPageStateFromPersistenceMedium()
{
string key = Request.RawUrl + "__viewstate";

if (Session[key] != null)
{
System.IO.MemoryStream stream = (System.IO.MemoryStream)Session[key];
stream.Seek(0, System.IO.SeekOrigin.Begin);
return losFormatter.Deserialize(stream);
}

return null;

}

protected override void SavePageStateToPersistenceMedium(object viewState)
{
string key = Request.RawUrl + "__viewstate";
System.IO.MemoryStream stream = new System.IO.MemoryStream();
losFormatter.Serialize(stream, viewState);
stream.Flush();
Session[key] = stream;

}

那么看看现在的viewstate:
复制代码 代码如下:

<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id=" __VIEWSTATE" value="" />

到这一步,我们实现我们要用的功能,去除viewstate,同时保持原先页面的使用。

相关文章

  • Xamarin.Forms在安卓机上进行本机调试

    Xamarin.Forms在安卓机上进行本机调试

    这篇文章介绍了Xamarin.Forms在安卓机上进行本机调试的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • Asp.net 动态加载用户自定义控件,并转换成HTML代码

    Asp.net 动态加载用户自定义控件,并转换成HTML代码

    Ajax现在已经是相当流行的技术了,Ajax不仅是想服务器端发送消息,更重要的是无刷新的重载页面。
    2010-03-03
  • 浅析ASP.NET路由模型工作原理

    浅析ASP.NET路由模型工作原理

    很多人知道Asp.Net中路由怎么用的,却不知道路由模型内部的运行原理,今天我就给大家吹下ASP.NET的路由模块是如何工作的
    2016-03-03
  • 最简单的.NET生成随机数函数

    最简单的.NET生成随机数函数

    众所周知 .Net中Random类生成的随机数是假随机数,关键要看构造函数里的种子
    2009-05-05
  • .net core 读取本地指定目录下的文件的实例代码

    .net core 读取本地指定目录下的文件的实例代码

    这篇文章主要介绍了.net core 读取本地指定目录下的文件的实例代码,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2018-09-09
  • ASP.NET MVC限制同一个IP地址单位时间间隔内的请求次数

    ASP.NET MVC限制同一个IP地址单位时间间隔内的请求次数

    这篇文章介绍了ASP.NET MVC限制同一个IP地址单位时间间隔内请求次数的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-10-10
  • asp.net 在客户端显示服务器端任务处理进度条的探讨

    asp.net 在客户端显示服务器端任务处理进度条的探讨

    由于 HTTP 协议本身的无状态性,B/S结构的程序无法像C/S程序那样,实时显示程序处理的进度。搜索一下网上,一般都是采用静态变量保存程序执行进度的方法实现,但是,这种方法是完全错误的,在并发的情况下,多个用户访问一个程序,会造成混乱。
    2009-09-09
  • .Net Web Api中利用FluentValidate进行参数验证的方法

    .Net Web Api中利用FluentValidate进行参数验证的方法

    最近在做Web API,用到了流式验证,就简单的说说这个流式验证,下面这篇文章主要给大家介绍了关于.Net Web Api中利用FluentValidate进行参数验证的相关资料,,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-07-07
  • 在.Net中使用MongoDB的方法教程

    在.Net中使用MongoDB的方法教程

    最近在研究mongodb,在网上搜索发现针对.net 中使用mongodb的文章要么是早期的驱动版本,要么资料很少,所以写个随笔记录一下,本文详细的给大家介绍了在.Net中使用MongoDB的方法教程,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-05-05
  • 先装VS再装IIS时出错的解决方法

    先装VS再装IIS时出错的解决方法

    如果先安装了VS再安装IIS,一般都会出错,不能正常使用,原因是什么呢?我查了下资料,收集下,供有需要的兄弟们看下
    2009-12-12

最新评论