現(xiàn)在很多網(wǎng)站里都有上一頁(yè)和下一頁(yè)的功能,這樣可以提高網(wǎng)站的用戶體驗(yàn)度,那么用CMS系統(tǒng)建站,應(yīng)該如何實(shí)現(xiàn)呢?下面六種方法可以幫助您!
方法一:
在asp.net的aspx里面的源代碼中,注意:這個(gè)是用了HTML控件,通過(guò)一個(gè)onclick的事件,調(diào)用了javascript中的一個(gè)方法就可以了。這個(gè)是最簡(jiǎn)單的了,也同樣適用于靜態(tài)頁(yè)面,ASP頁(yè)面等。
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一頁(yè)">
方法二: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>");
方法三:在button的onClick事件中輸入
this.RegisterClientScriptBlock("e", "<script language=javascript>history.go(-2);</script>");
方法四:利用Reponse.write
Response.write("<script language=javascript>history.go(-2);</script>)
<a href="#" onclick="javascript:history.back();">返回前一頁(yè)</a>
方法五:
<a href=<%=request.servervariable("http_Referre)%>
<asp:image id="imageback" visible = true" imagurl="上一頁(yè)" runat="server"/></a>
方法六:利用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時(shí)還要注意:
1. 如果上一頁(yè)面使用document.location方法導(dǎo)航到當(dāng)前頁(yè)面,Request.UrlReferrer返回空值
2. 點(diǎn)擊刷新按鈕不會(huì)改變Request.UrlReferrer
3. 用CMS建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è)面的信息