2011-06-28 146 views
7

我有一個頁面調用帶有一些查詢字符串參數的另一個頁面。我想在點擊一個按鈕後返回到該頁面。ASP.net重定向到調用頁面

我不得不提到,我在用戶控件中編寫代碼,我不知道哪一頁稱爲第二頁。

在瀏覽器中是否有像返回按鈕?

回答

3

你可以看看Cross Page Posting

或者,如果您通過編程方式生成鏈接,則可以在url中包含returnUrl http://localhost/secondpage.aspx?returnurl=firstpage.aspx

然後,您可以在第二頁中讀取querystring參數,並在完成工作後執行重定向。

12

最簡單的方法在客戶端使用JavaScript與

window.back(); 

對於服務器端,您需要保存的URL引用者在Page_Load中:使用Response.Redirect的

if(!Page.IsPostback) 
{ 
    ViewState["GoBackTo"] = Request.UrlReferrer; 
} 

,並在點擊一個按鈕:

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

編輯:請注意ppumkin的評論在下面!

+0

這行代碼的UrlReferrer不工作的時候,這怎麼過比羅伯特更好的辦法。 – Aristos

+2

不,它不會總是工作,如果他們直接到頁面。只要把它看成像'if(ViewState [「GoBackTo」] == null)',如果有null,只是重定向到默認登錄頁面,如'account.aspx'或類似。如果你不想使用表單認證+1,這很好 – ppumkin

2

可以使用Request.UrlReferrer,但它不一定所有來自客戶端的發送時間:

 Response.Redirect(Request.UrlReferrer.AbsoluteUri); 
1

把頁面加載事件

Btn_Back.Attributes.Add("onClick", "javascript:history.back(); return false;");