在ASP.net中都是用一個button的控制項來實現的,
其實要實現這個功能主要還是要用到javascript
方法一:
Asp.Net
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">input</span> <span style="color: #ff0000">type</span><span style="color: #0000ff">="button onclick="</span><span style="color: #ff0000">javascript:window</span>.<span style="color: #ff0000">history</span>.<span style="color: #ff0000">go</span>(<span style="color: #ff0000">-1</span>);<span style="color: #0000ff">"value="</span><span style="color: #ff0000">返回上一頁</span>"<span style="color: #0000ff">></span> |
淺析:這個是用了HTML控制項,通過一個onclick的事件,調用了javascript中的一個方法就可以了。這個是最簡單的了,也同樣適用於靜態頁面,ASP頁面等。
方法二:
利用Reponse.write
如果你對ASP有一定的瞭解,那麼對Response.write這個東東就不會陌生了,方法一是直接有HTML頁面中實現,則這個則是在後臺環境中實現
C#
1 |
Response.write("<script language=javascript>history.go(-2);</script>) |
OR Asp.Net
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span><span style="color: #0000ff">="#"</span> <span style="color: #ff0000">onclick</span><span style="color: #0000ff">="javascript:history.back();"</span><span style="color: #0000ff">></span>返回前一頁<span style="color: #0000ff"></</span><span style="color: #800000">a</span><span style="color: #0000ff">></span> |
這裡為會麼要採用-2的值呢,我個人認為是這樣的:因為在asp.net中的頁面,當你按下一個button後,由於頁面中會實現page.postback的緣故,實際上在這其中是刷新了兩次頁面,我們要的是第一次的,所以就......
方法三
利用Response.Redirect() 或 server.transfer()
C# Page_Load
1 |
<span style="color: #0000ff">if</span>(!IsPostBack) |
1 |
ViewState[<span style="color: #006080">"UrlReferrer"</span>]=Request.UrlReferrer.ToString(); |
C# 控制項事件
1 |
<span style="color: #0000ff">if</span>(ViewState[<span style="color: #006080">"UrlReferrer"</span>]!=<span style="color: #0000ff">null</span>) Response.Redirect(ViewState[<span style="color: #006080">"UrlReferrer"</span>].ToString(); |
1 |
<span style="color: #0000ff">else</span> Response.write(<span style="color: #006080">"對不起,當前是最前頁"</span>); |
1 |
1 |
以下這段來自:http://stswordman.cnblogs.com/archive/2006/06/12/423910.html
在使用Request.UrlReferrer時還要注意:
1. 如果上一頁面使用document.location方法導航到當前頁面,Request.UrlReferrer返回空值
2. 如果有A,B兩個頁面,在流覽器中直接請求A頁面,在A頁面的中Page_Load事件中導航到B 頁面,則 Request.UrlReferrer返回空。因為 在Page_load事件中頁面還未初始化,所以無法記錄當前頁的資訊,導航到b頁面也就無法獲得上一頁面的資訊
3. 點擊刷新按鈕不會改變Request.UrlReferrer
方法四:
在button的onClick事件中輸入
C#
1 |
<span style="color: #0000ff">this</span>.RegisterClientScriptBlock(<span style="color: #006080">"e"</span>, <span style="color: #006080">"<script language=javascript>history.go(-2);</script>"</span>); |
方法五
這種方法也比較麻煩,不建議大家使用,這個好像是ASP裡面的。
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">a</span> <span style="color: #ff0000">href</span>=&<span style="color: #ff0000">lt</span>;%=<span style="color: #ff0000">request</span>.<span style="color: #ff0000">servervariable</span>(<span style="color: #0000ff">"http_Referre)%> |
1 |
1 |
<asp:image id="</span><span style="color: #ff0000">imageback</span><span style="color: #0000ff">" visible = true"</span> <span style="color: #ff0000">imagurl</span><span style="color: #0000ff">="上一頁"</span> <span style="color: #ff0000">runat</span><span style="color: #0000ff">="server"</span><span style="color: #0000ff">/></</span><span style="color: #800000">a</span><span style="color: #0000ff">></span> |