asp.net 去除viewstate
更新時間:2009年03月26日 01:48:42 作者:
生成了這么多的一段東西,這段東西對seo一點好處也沒有。而我要做的就是去掉它,但有一點,去掉但不能讓它原來的控件和內(nèi)容都發(fā)生變化
ViewState 在 Page.SavePageStateToPersistenceMedium 方法中被保存, 回發(fā)時,在 Page.LoadPageStateFromPersistanceMedium 方法中被恢復(fù)。 這是我在看“木野狐”翻譯的一篇文章中看到的,那么我們可以將其存到session中去,代碼如下,來自網(wǎng)絡(luò),自做簡單修改:
復(fù)制代碼 代碼如下:
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:
復(fù)制代碼 代碼如下:
<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概述及應(yīng)用
- 禁止ViewState的3種解決方法
- viewstate和datatable動態(tài)錄入數(shù)據(jù)示例
- asp.net中ViewState的用法詳解
- ASP.NET中控件的EnableViewState屬性及徹底禁用
相關(guān)文章
Xamarin.Forms在安卓機上進行本機調(diào)試
這篇文章介紹了Xamarin.Forms在安卓機上進行本機調(diào)試的方法,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02Asp.net 動態(tài)加載用戶自定義控件,并轉(zhuǎn)換成HTML代碼
Ajax現(xiàn)在已經(jīng)是相當(dāng)流行的技術(shù)了,Ajax不僅是想服務(wù)器端發(fā)送消息,更重要的是無刷新的重載頁面。2010-03-03ASP.NET MVC限制同一個IP地址單位時間間隔內(nèi)的請求次數(shù)
這篇文章介紹了ASP.NET MVC限制同一個IP地址單位時間間隔內(nèi)請求次數(shù)的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-10-10asp.net 在客戶端顯示服務(wù)器端任務(wù)處理進度條的探討
由于 HTTP 協(xié)議本身的無狀態(tài)性,B/S結(jié)構(gòu)的程序無法像C/S程序那樣,實時顯示程序處理的進度。搜索一下網(wǎng)上,一般都是采用靜態(tài)變量保存程序執(zhí)行進度的方法實現(xiàn),但是,這種方法是完全錯誤的,在并發(fā)的情況下,多個用戶訪問一個程序,會造成混亂。2009-09-09.Net Web Api中利用FluentValidate進行參數(shù)驗證的方法
最近在做Web API,用到了流式驗證,就簡單的說說這個流式驗證,下面這篇文章主要給大家介紹了關(guān)于.Net Web Api中利用FluentValidate進行參數(shù)驗證的相關(guān)資料,,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07