asp.net下利用js實(shí)現(xiàn)返回上一頁的實(shí)現(xiàn)方法小集
更新時間:2009年11月24日 02:11:59 作者:
其實(shí)要實(shí)現(xiàn)這個功能主要還是要用到j(luò)avascript
方法一:
在asp.net的aspx里面的源代碼中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一頁">
淺析:這個是用了HTML控件,通過一個onclick的事件,調(diào)用了javascript中的一個方法就可以了。這個是最簡單的了,也同樣適用于靜態(tài)頁面,ASP頁面等。
方法二:
利用Reponse.write
如果你對ASP有一定的了解,那么對Response.write這個東東就不會陌生了,方法一是直接有HTML頁面中實(shí)現(xiàn),則這個則是在后臺環(huán)境中實(shí)現(xiàn)(這個說法好像不是很規(guī)范,呵呵)
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁</a>
這里為會么要采用-2的值呢,我個人認(rèn)為是這樣的:因為在asp.net中的頁面,當(dāng)你按下一個button后,由于頁面中會實(shí)現(xiàn)page.postback的緣故,實(shí)際上在這其中是刷新了兩次頁面,我們要的是第一次的,所以就......
方法三
利用Response.Redirect() 或 server.transfer()
在page_load中加入
if(!IsPostBack)
ViewState["retu"]=Request.UrlReferrer.ToString();
而在在返回按鈕事件中
Response.Redirect(ViewState["retu"].ToString());
或Server.Transfer (ViewState["retu"].ToString());
淺析:
Request.UrlReferrer可以獲取客戶端上次請求的url的有關(guān)信息,我們在使用這個的時候最好對其進(jìn)行一個判斷
if(ViewState["UrlReferrer"]!=null)
Response.Redirect(ViewState["UrlReferrer"].ToString();
else
{
Response.write("對不起,當(dāng)前是最前頁碼“);
這樣才好使一點(diǎn)點(diǎn)喔
}
在使用Request.UrlReferrer時還要注意:
1. 如果上一頁面使用document.location方法導(dǎo)航到當(dāng)前頁面,Request.UrlReferrer返回空值
2. 如果有A,B兩個頁面,在瀏覽器中直接請求A頁面,在A頁面的中Page_Load事件中導(dǎo)航到B 頁面,則 Request.UrlReferrer返回空。因為 在Page_load事件中頁面還未初始化,所以無法記錄當(dāng)前頁的信息,導(dǎo)航到b頁面也就無法獲得上一頁面的信息
3. 點(diǎn)擊刷新按鈕不會改變Request.UrlReferrer
方法四:
這個方法估計很少人用,不過我試了一下,也還很不錯喔
在button的onClick事件中輸入
this.RegisterClientScriptBlock("e", "<script language=javascript>history.go(-2);</script>");
一樣可以 返回到上一頁
方法五
<a href=<%=request.servervariable("http_Referre)%>
<asp:image id="imageback" visible = true" imagurl="上一頁" runat="server"/></a>
方法六
Response.Write("<script>alert('提示信息');history.back()</script>");
Response.Write("<script>alert('提示信息');top.location.href='" + PageURL + "'</script>")
Response.Write("<script>alert('提示信息');window.location.href='" + PageURL + "'</script>");
Response.Write("<script>alert('提示信息');window.location=window.location;</script>");
這里還要啰嗦一下用Javascript來實(shí)現(xiàn)與用Response.redirect()來實(shí)現(xiàn)的一點(diǎn)點(diǎn)區(qū)別,如果你是用天表單的時候想保留你填的數(shù)據(jù),那就要用history.go();這個東東,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.
在asp.net的aspx里面的源代碼中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一頁">
淺析:這個是用了HTML控件,通過一個onclick的事件,調(diào)用了javascript中的一個方法就可以了。這個是最簡單的了,也同樣適用于靜態(tài)頁面,ASP頁面等。
方法二:
利用Reponse.write
如果你對ASP有一定的了解,那么對Response.write這個東東就不會陌生了,方法一是直接有HTML頁面中實(shí)現(xiàn),則這個則是在后臺環(huán)境中實(shí)現(xiàn)(這個說法好像不是很規(guī)范,呵呵)
復(fù)制代碼 代碼如下:
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁</a>
這里為會么要采用-2的值呢,我個人認(rèn)為是這樣的:因為在asp.net中的頁面,當(dāng)你按下一個button后,由于頁面中會實(shí)現(xiàn)page.postback的緣故,實(shí)際上在這其中是刷新了兩次頁面,我們要的是第一次的,所以就......
方法三
利用Response.Redirect() 或 server.transfer()
在page_load中加入
if(!IsPostBack)
ViewState["retu"]=Request.UrlReferrer.ToString();
而在在返回按鈕事件中
Response.Redirect(ViewState["retu"].ToString());
或Server.Transfer (ViewState["retu"].ToString());
淺析:
Request.UrlReferrer可以獲取客戶端上次請求的url的有關(guān)信息,我們在使用這個的時候最好對其進(jìn)行一個判斷
if(ViewState["UrlReferrer"]!=null)
Response.Redirect(ViewState["UrlReferrer"].ToString();
else
{
Response.write("對不起,當(dāng)前是最前頁碼“);
這樣才好使一點(diǎn)點(diǎn)喔
}
在使用Request.UrlReferrer時還要注意:
1. 如果上一頁面使用document.location方法導(dǎo)航到當(dāng)前頁面,Request.UrlReferrer返回空值
2. 如果有A,B兩個頁面,在瀏覽器中直接請求A頁面,在A頁面的中Page_Load事件中導(dǎo)航到B 頁面,則 Request.UrlReferrer返回空。因為 在Page_load事件中頁面還未初始化,所以無法記錄當(dāng)前頁的信息,導(dǎo)航到b頁面也就無法獲得上一頁面的信息
3. 點(diǎn)擊刷新按鈕不會改變Request.UrlReferrer
方法四:
這個方法估計很少人用,不過我試了一下,也還很不錯喔
在button的onClick事件中輸入
this.RegisterClientScriptBlock("e", "<script language=javascript>history.go(-2);</script>");
一樣可以 返回到上一頁
方法五
復(fù)制代碼 代碼如下:
<a href=<%=request.servervariable("http_Referre)%>
<asp:image id="imageback" visible = true" imagurl="上一頁" runat="server"/></a>
方法六
復(fù)制代碼 代碼如下:
Response.Write("<script>alert('提示信息');history.back()</script>");
Response.Write("<script>alert('提示信息');top.location.href='" + PageURL + "'</script>")
Response.Write("<script>alert('提示信息');window.location.href='" + PageURL + "'</script>");
Response.Write("<script>alert('提示信息');window.location=window.location;</script>");
這里還要啰嗦一下用Javascript來實(shí)現(xiàn)與用Response.redirect()來實(shí)現(xiàn)的一點(diǎn)點(diǎn)區(qū)別,如果你是用天表單的時候想保留你填的數(shù)據(jù),那就要用history.go();這個東東,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.
相關(guān)文章
Three.js中實(shí)現(xiàn)Bloom效果及完整示例
這篇文章主要為大家介紹了Three.js中實(shí)現(xiàn)Bloom效果及完整示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04
淺談如何使用webpack構(gòu)建多頁面應(yīng)用
這篇文章主要介紹了淺談如何使用webpack構(gòu)建多頁面應(yīng)用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05
JavaScript實(shí)時更新當(dāng)前的時間的示例代碼
這篇文章主要介紹了JavaScript實(shí)時更新當(dāng)前的時間的示例代碼,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-07
JS實(shí)現(xiàn)數(shù)組隨機(jī)排序的三種方法詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript中實(shí)現(xiàn)數(shù)組隨機(jī)排序的三種方式,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)或工作有一定參考價值,需要的可以參考一下2022-05-05
JavaScript設(shè)計模式之觀察者模式實(shí)例詳解
這篇文章主要介紹了JavaScript設(shè)計模式之觀察者模式,結(jié)合實(shí)例形式詳細(xì)分析了javascript觀察者模式的概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下2019-01-01
JS字符串轉(zhuǎn)換為數(shù)組的4 個方法示例小結(jié)
這篇文章主要介紹了JS字符串轉(zhuǎn)換為數(shù)組的4 個方法示例小結(jié),本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-12-12
JavaScript實(shí)現(xiàn)把數(shù)字轉(zhuǎn)換成中文
這篇文章主要介紹了JavaScript實(shí)現(xiàn)把數(shù)字轉(zhuǎn)換成中文,本文直接給出實(shí)例代碼,需要的朋友可以參考下2015-06-06

