asp.net跳轉(zhuǎn)頁面的三種方法比較
1、 response.redirect 這個跳轉(zhuǎn)頁面的方法跳轉(zhuǎn)的速度不快,因?yàn)樗?個來回(2次postback),但他可以跳 轉(zhuǎn)到任何頁面,沒有站點(diǎn)頁面限制(即可以由雅虎跳到新浪),同時(shí)不能跳過登錄保護(hù)。
但速度慢是其最大缺陷!redirect跳轉(zhuǎn)機(jī)制:首先是發(fā)送一個http請求到客戶端,通知需要跳轉(zhuǎn)到新頁面,然后客戶端在發(fā)送跳轉(zhuǎn)請求到服務(wù)器端。需要注意的是跳轉(zhuǎn)后內(nèi)部空間保存的所有數(shù)據(jù)信息將會丟失,所以需要用到session。
2、 server.transfer 速度快,只需要一次postback ,但是。。。。他必須是在同一個站點(diǎn)下,因?yàn)樗莝erver的一個方法。另外,他能跳過登錄保護(hù)。你可以寫個小程序試試:設(shè)計(jì)一個由頁面一到頁面二的跳轉(zhuǎn),但要進(jìn)入到頁面二需要登錄,form認(rèn)證,但如果跳轉(zhuǎn)語句使用transfer的話,那就不會彈出登錄頁面了。這個方法的重定向請求是發(fā)生在服務(wù)器端,所以瀏覽器的url地址仍然保留的是原頁面的地址!
3、 sever.execute 這個方法主要是用在頁面設(shè)計(jì)上面,而且他必須是跳轉(zhuǎn)同一站點(diǎn)下的頁面。這個方法是需要將一個頁面的輸出結(jié)果插入到另一個aspx頁面的時(shí)候使用,大部分是在表格中,將某一個頁面類似于嵌套的方式存在于另一頁面。
總結(jié):
當(dāng)需要把用戶跳轉(zhuǎn)到另一臺服務(wù)器上的頁面的時(shí)候 ,使用redirect
當(dāng)需要把用戶跳轉(zhuǎn)到非aspx頁面時(shí)候,如html,使用redirect
需要把查詢字符串作為url一部分的時(shí)候保留傳給服務(wù)器的時(shí)候,因?yàn)槠渌?種方法不能做到2次postback,把數(shù)據(jù)先帶回服務(wù)器,使用redirect
需要aspx頁面間的轉(zhuǎn)換(不涉及登錄),使用transfer
當(dāng)需要把a(bǔ)spx頁面的輸出結(jié)果插入到另一個aspx頁面的時(shí)候使用 execute方法。
當(dāng)然,忘記了還有一個超鏈接!當(dāng)然這個就不需要講太多了。他是在當(dāng)需要用戶來決定什么時(shí)候跳轉(zhuǎn)頁面,就使用超鏈接。
順便提一下,如何使用redirect方法在查詢字符串中使用漢字,因?yàn)榻?jīng)常的情況是出現(xiàn)亂碼,原因是url不支持漢字。這個時(shí)候需要轉(zhuǎn)換:
以下是引用片段:
string message =server.urlencode("歡迎來到賽跑專欄");
先轉(zhuǎn)換,再使用查詢字符串
以下是引用片段:
response.redirect("webform2.aspx?msg="+message);
相關(guān)文章
ASP.NET?MVC5網(wǎng)站開發(fā)顯示文章列表(九)
顯示文章列表分兩塊,管理員可以顯示全部文章列表,一般用戶只顯示自己的文章列表。文章列表的顯示采用easyui-datagrid,后臺需要與之對應(yīng)的action返回json類型數(shù)據(jù),感興趣的小伙伴們可以參考一下2015-09-09
詳解.NET Core使用Quartz執(zhí)行調(diào)度任務(wù)進(jìn)階
這篇文章主要介紹了.NET Core使用Quartz執(zhí)行調(diào)度任務(wù)進(jìn)階,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
Asp.net中static變量和viewstate的使用方法(謹(jǐn)慎)
如在頁面中統(tǒng)計(jì)某個按鈕被按下的次數(shù),先在類中OnClick事件的處理過程前定義一static變量times,則每次調(diào)用該按鈕的OnClick事件時(shí),令times增1即可,非常方便,接下來詳細(xì)介紹,感興趣的朋友可以了解下2013-01-01
Asp.Net在線預(yù)覽Word文檔的解決方案與思路詳解
這篇文章主要介紹了Asp.Net在線預(yù)覽Word文檔的解決方案與思路,大致思路是先將Word文檔轉(zhuǎn)換Html,再預(yù)覽Html,需要注意電腦安裝Office,需要的朋友可以參考下2022-04-04
Asp.Mvc 2.0用戶的編輯與刪除實(shí)例講解(5)
這篇文章主要介紹了Asp.Mvc 2.0用戶的編輯與刪除功能,需要的朋友可以參考下2015-08-08
解決iis7.5服務(wù)器上.net 獲取不到https頁面的信息
讓我糾結(jié)了一天多的問題,給大家看下,有相同情況的可以不用浪費(fèi)時(shí)間了,本人當(dāng)時(shí)找了好半天都沒找到什么有用的信息,項(xiàng)目在本地沒有問題,但部署在服務(wù)器后,獲取不到https頁面的信息,加入下面的代碼就可以了,因?yàn)閕is7.5的安全協(xié)議比較高的原因。2014-06-06
ASP.NET?MVC實(shí)現(xiàn)登錄后跳轉(zhuǎn)到原界面
這篇文章介紹了ASP.NET?MVC實(shí)現(xiàn)登錄后跳轉(zhuǎn)到原界面的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09

