asp.net 去除viewstate
更新時間:2009年03月26日 01:48:42 作者:
生成了這么多的一段東西,這段東西對seo一點好處也沒有。而我要做的就是去掉它,但有一點,去掉但不能讓它原來的控件和內容都發(fā)生變化
ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回發(fā)時,在 Page.LoadPageStateFromPersistanceMedium 方法中被恢復。 這是我在看“木野狐”翻譯的一篇文章中看到的,那么我們可以將其存到session中去,代碼如下,來自網(wǎng)絡,自做簡單修改:
復制代碼 代碼如下:
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;
}
那么看看現(xiàn)在的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="" />
到這一步,我們實現(xiàn)我們要用的功能,去除viewstate,同時保持原先頁面的使用。
您可能感興趣的文章:
- asp.net 生成靜態(tài)時的過濾viewstate的實現(xiàn)方法
- asp.net 禁用viewstate在web.config里
- asp.net viewstate 回發(fā)機制
- asp.net生成靜態(tài)后冗余代碼,去掉viewstate生成的代碼
- 使用正則Regex來移除網(wǎng)頁的EnableViewState實現(xiàn)思路及代碼
- 狀態(tài)保存機制之ViewState概述及應用
- 禁止ViewState的3種解決方法
- viewstate和datatable動態(tài)錄入數(shù)據(jù)示例
- asp.net中ViewState的用法詳解
- ASP.NET中控件的EnableViewState屬性及徹底禁用
相關文章
?ASP.NET Core 模型驗證過濾器的兩種實現(xiàn)方法
?在.Net Core的時代中,框架會幫你自動驗證,本文主要介紹了?ASP.NET Core 模型驗證過濾器的兩種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05
在ASP.NET Core 中發(fā)送郵件的實現(xiàn)方法(必看篇)
下面小編就為大家?guī)硪黄贏SP.NET Core 中發(fā)送郵件的實現(xiàn)方法(必看篇)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05

