asp.net 去除viewstate第2/2頁
更新時間:2009年03月26日 01:48:42 作者:
生成了這么多的一段東西,這段東西對seo一點好處也沒有。而我要做的就是去掉它,但有一點,去掉但不能讓它原來的控件和內容都發(fā)生變化
ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回發(fā)時,在 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;
}
那么看看現(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來移除網頁的EnableViewState實現(xiàn)思路及代碼
- 狀態(tài)保存機制之ViewState概述及應用
- 禁止ViewState的3種解決方法
- viewstate和datatable動態(tài)錄入數(shù)據(jù)示例
- asp.net中ViewState的用法詳解
- ASP.NET中控件的EnableViewState屬性及徹底禁用
相關文章
Asp.net 動態(tài)加載用戶自定義控件,并轉換成HTML代碼
Ajax現(xiàn)在已經是相當流行的技術了,Ajax不僅是想服務器端發(fā)送消息,更重要的是無刷新的重載頁面。2010-03-03ASP.NET MVC限制同一個IP地址單位時間間隔內的請求次數(shù)
這篇文章介紹了ASP.NET MVC限制同一個IP地址單位時間間隔內請求次數(shù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10.Net Web Api中利用FluentValidate進行參數(shù)驗證的方法
最近在做Web API,用到了流式驗證,就簡單的說說這個流式驗證,下面這篇文章主要給大家介紹了關于.Net Web Api中利用FluentValidate進行參數(shù)驗證的相關資料,,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧2018-07-07