asp.net下利用js實現(xiàn)返回上一頁的實現(xiàn)方法小集
更新時間:2009年11月24日 02:11:59 作者:
其實要實現(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頁面中實現(xiàn),則這個則是在后臺環(huán)境中實現(xiàn)(這個說法好像不是很規(guī)范,呵呵)
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁</a>
這里為會么要采用-2的值呢,我個人認為是這樣的:因為在asp.net中的頁面,當(dāng)你按下一個button后,由于頁面中會實現(xiàn)page.postback的緣故,實際上在這其中是刷新了兩次頁面,我們要的是第一次的,所以就......
方法三
利用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)信息,我們在使用這個的時候最好對其進行一個判斷
if(ViewState["UrlReferrer"]!=null)
Response.Redirect(ViewState["UrlReferrer"].ToString();
else
{
Response.write("對不起,當(dāng)前是最前頁碼“);
這樣才好使一點點喔
}
在使用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. 點擊刷新按鈕不會改變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來實現(xiàn)與用Response.redirect()來實現(xià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頁面中實現(xiàn),則這個則是在后臺環(huán)境中實現(xiàn)(這個說法好像不是很規(guī)范,呵呵)
復(fù)制代碼 代碼如下:
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁</a>
這里為會么要采用-2的值呢,我個人認為是這樣的:因為在asp.net中的頁面,當(dāng)你按下一個button后,由于頁面中會實現(xiàn)page.postback的緣故,實際上在這其中是刷新了兩次頁面,我們要的是第一次的,所以就......
方法三
利用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)信息,我們在使用這個的時候最好對其進行一個判斷
if(ViewState["UrlReferrer"]!=null)
Response.Redirect(ViewState["UrlReferrer"].ToString();
else
{
Response.write("對不起,當(dāng)前是最前頁碼“);
這樣才好使一點點喔
}
在使用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. 點擊刷新按鈕不會改變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來實現(xiàn)與用Response.redirect()來實現(xiàn)的一點點區(qū)別,如果你是用天表單的時候想保留你填的數(shù)據(jù),那就要用history.go();這個東東,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.
相關(guān)文章
滾動條響應(yīng)鼠標滑輪事件實現(xiàn)上下滾動的js代碼
javascript實現(xiàn)滾動條響應(yīng)鼠標滑輪的實現(xiàn)上下滾動,示例代碼如下2014-06-06JavaScript直接調(diào)用函數(shù)與call調(diào)用的區(qū)別實例分析
這篇文章主要介紹了JavaScript直接調(diào)用函數(shù)與call調(diào)用的區(qū)別,結(jié)合額實例形式分析了JavaScript直接調(diào)用函數(shù)與call調(diào)用的基本用法、區(qū)別及相關(guān)注意事項,需要的朋友可以參考下2020-05-05uniapp與webview之間的相互傳值的實現(xiàn)
這篇文章主要介紹了uniapp與webview之間的相互傳值的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06jquery結(jié)合CSS使用validate實現(xiàn)漂亮的驗證
這篇文章主要介紹了jquery結(jié)合CSS使用validate實現(xiàn)漂亮的驗證,需要的朋友可以參考下2015-01-01