asp.net 去除viewstate
2016-09-01 17:44
267 查看
生成了这么多的一段东西,这段东西对seo一点好处也没有。而我要做的就是去掉它,但有一点,去掉但不能让它原来的控件和内容都发生变化 看下这段代码:
生成了这么多的一段东西,这段东西对seo一点好处也没有。而我要做的就是去掉它,但有一点,去掉但不能让它原来的控件和内容都发生变化,比如说不能使用等等。所以我要做的仅仅是用另一种方式去保存这些数据。这是一段用base64编码的数据而并不是加密,我很好奇到底放了些什么东西在这里面。下面我开始破解这段代码。代码如下:复制代码代码如下:
ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回发时,在 Page.LoadPageStateFromPersistanceMedium 方法中被恢复。 这是我在看“木野狐”翻译的一篇文章中看到的,那么我们可以将其存到session中去,代码如下,来自网络,自做简单修改:
// 去除VIEWSTATE 生成源代码,并保证VIEWSTATE 同时有效
protected LosFormatter losFormatter = new LosFormatter();
protected override object LoadPageStateFromPersistenceMedium()
{
string key = Request.Url + "__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.Url + "__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,同时保持原先页面的使用。转自:http://www.itxuexi.com/tech/wangluobiancheng/dotnet/384501255272077.html
生成了这么多的一段东西,这段东西对seo一点好处也没有。而我要做的就是去掉它,但有一点,去掉但不能让它原来的控件和内容都发生变化,比如说不能使用等等。所以我要做的仅仅是用另一种方式去保存这些数据。这是一段用base64编码的数据而并不是加密,我很好奇到底放了些什么东西在这里面。下面我开始破解这段代码。代码如下:复制代码代码如下:
ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回发时,在 Page.LoadPageStateFromPersistanceMedium 方法中被恢复。 这是我在看“木野狐”翻译的一篇文章中看到的,那么我们可以将其存到session中去,代码如下,来自网络,自做简单修改:
// 去除VIEWSTATE 生成源代码,并保证VIEWSTATE 同时有效
protected LosFormatter losFormatter = new LosFormatter();
protected override object LoadPageStateFromPersistenceMedium()
{
string key = Request.Url + "__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.Url + "__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,同时保持原先页面的使用。转自:http://www.itxuexi.com/tech/wangluobiancheng/dotnet/384501255272077.html
相关文章推荐
- ASP.NET页面中去除VIEWSTATE视图状态乱码
- asp.net 去除viewstate第1/2页
- asp.net 去除viewstate
- asp.net 去除viewstate第1/2页
- 压缩ASP.NET中的ViewState的改进方法
- Asp.net中的ViewState用法
- ASP.NET ViewState 初探
- ASP.NET ViewState 初探
- ASP.NET ViewState 初探
- ASP .NET维持ViewState
- ASP.Net ViewState的实现
- 去除Asp:DataGrid中无用ViewState的方法(2)
- ASP.NET中的ViewState
- 去除Asp:DataGrid中无用ViewState的方法(2)
- 去除Asp:DataGrid中无用ViewState的方法(2)
- 去除Asp:DataGrid中无用ViewState的方法(1)
- Cutting Edge The ASP.NET View State
- Screen Scraping, ViewState, and Authentication using ASP.Net
- ASP.NET ViewState 初探
- ASP.NET ViewState 初探(引自msdn)