asp返回上一頁,刷新和不刷新


網上方法集節錄之一:

1、返回上一頁並刷新

方法一:

Response.Write("<SCRIPT language=JavaScript>alert('提示:操作成功!');this.location.href='"& request.ServerVariables("HTTP_REFERER")&"';</SCRIPT>")

其中 request.ServerVariables("HTTP_REFERER") 為上一頁地址(來源地址)

方法二:response.redirect(request.ServerVariables("HTTP_REFERER")) 直接返回不提示,也可在返回前提示,


response.write "ok"
response.redirect(request.ServerVariables("HTTP_REFERER"))

方法三:

在Asp頁面首部加入
Response.Buffer = True
Response.ExpiresAbsolute = Now() - 1
Response.Expires = 0
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "No-Cache"

禁止緩存,那么返回后數據會重新讀取。也可以起到刷新作用。


2、返回上一頁不刷新

<Script language=JavaScript>alert('對不起,您輸入的用戶名已經存在!');;history.back();< /Script> 或 <Script language=JavaScript>alert('對不起,您輸入的用戶名已經存在!');;history.gok-1();< /Script>

 

網上方法集節錄之二:

返回上一頁的這個東東在我們做項目的時候一般是用於填寫完表單后確認的時候,有對原來輸入的數據進行修改時用的,或者是因為網站為了方便瀏覽者而有心添加 的一個東東,一般這種功能的實現在ASP.net中都是用一個button的控件來實現的,實現的方法有很多,今天恰好在做項目時碰到要用這個東東,我就 把能實現" 返回上一頁","返回前一頁"的幾種方法總結了一下,供大家學習之用,請多多指教:0)

其實要實現這個功能主要還是要用到javascript

方法一:
 在asp.net的aspx里面的源代碼中
<input type="button onclick="javascript:window.history.go(-1);"value="返回上一頁">

淺析:這個是用了HTML控件,通過一個onclick的事件,調用了javascript中的一個方法就可以了。這個是最簡單的了,也同樣適用於靜態頁面,ASP頁面等。

方法二:

利用Reponse.write
如果你對ASP有一定的了解,那么對Response.write這個東東就不會陌生了,方法一是直接有HTML頁面中實現,則這個則是在后台環境中實現(這個說法好像不是很規范,呵呵)

Response.write("<script language=javascript>history.go(-2);</script>)

<a   href="#"   onclick="javascript:history.back();">返回前一頁</a>


這里為會么要采用-2的值呢,我個人認為是這樣的:因為在asp.net中的頁面,當你按下一個button后,由於頁面中會實現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的有關信息,我們在使用這個的時候最好對其進行一個判斷

if(ViewState["UrlReferrer"]!=null)

        Response.Redirect(ViewState["UrlReferrer"].ToString();

else
{
Response.write("對不起,當前是最前頁碼“);


這樣才好使一點點喔
}

以下這段來自: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事件中輸入

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>


這 里還要啰嗦一下用Javascript來實現與用Response.redirect()來實現的一點點區別,如果你是用天表單的時候想保留你填的數據, 那就要用history.go();這個東東,如果你只是直接返回不用做任何操作,你就可以用reponse.redirect()了.

我的整理:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM