asp.net下利用js實(shí)現(xiàn)返回上一頁(yè)的實(shí)現(xiàn)方法小集
2024-05-06 14:12:44
供稿:網(wǎng)友
方法一:
在asp.net的aspx里面的源代碼中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一頁(yè)">
淺析:這個(gè)是用了HTML控件,通過(guò)一個(gè)onclick的事件,調(diào)用了javascript中的一個(gè)方法就可以了。這個(gè)是最簡(jiǎn)單的了,也同樣適用于靜態(tài)頁(yè)面,ASP頁(yè)面等。
方法二:
利用Reponse.write
如果你對(duì)ASP有一定的了解,那么對(duì)Response.write這個(gè)東東就不會(huì)陌生了,方法一是直接有HTML頁(yè)面中實(shí)現(xiàn),則這個(gè)則是在后臺(tái)環(huán)境中實(shí)現(xiàn)(這個(gè)說(shuō)法好像不是很規(guī)范,呵呵)
代碼如下:
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁(yè)</a>
這里為會(huì)么要采用-2的值呢,我個(gè)人認(rèn)為是這樣的:因?yàn)樵赼sp.net中的頁(yè)面,當(dāng)你按下一個(gè)button后,由于頁(yè)面中會(huì)實(shí)現(xiàn)page.postback的緣故,實(shí)際上在這其中是刷新了兩次頁(yè)面,我們要的是第一次的,所以就......
方法三
利用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可以獲取客戶(hù)端上次請(qǐng)求的url的有關(guān)信息,我們?cè)谑褂眠@個(gè)的時(shí)候最好對(duì)其進(jìn)行一個(gè)判斷
if(ViewState["UrlReferrer"]!=null)
Response.Redirect(ViewState["UrlReferrer"].ToString();
else
{
Response.write("對(duì)不起,當(dāng)前是最前頁(yè)碼“);
這樣才好使一點(diǎn)點(diǎn)喔
}
在使用Request.UrlReferrer時(shí)還要注意:
1. 如果上一頁(yè)面使用document.location方法導(dǎo)航到當(dāng)前頁(yè)面,Request.UrlReferrer返回空值
2. 如果有A,B兩個(gè)頁(yè)面,在瀏覽器中直接請(qǐng)求A頁(yè)面,在A頁(yè)面的中Page_Load事件中導(dǎo)航到B 頁(yè)面,則 Request.UrlReferrer返回空。因?yàn)?在Page_load事件中頁(yè)面還未初始化,所以無(wú)法記錄當(dāng)前頁(yè)的信息,導(dǎo)航到b頁(yè)面也就無(wú)法獲得上一頁(yè)面的信息
3. 點(diǎn)擊刷新按鈕不會(huì)改變Request.UrlReferrer
方法四:
這個(gè)方法估計(jì)很少人用,不過(guò)我試了一下,也還很不錯(cuò)喔
在button的onClick事件中輸入
this.RegisterClientScriptBlock("e", "<script language=javascript>history.go(-2);</script>");
一樣可以 返回到上一頁(yè)
方法五
代碼如下:
<a href=<%=request.servervariable("http_Referre)%>
<asp:image id="imageback" visible = true" imagurl="上一頁(yè)" 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>");