我有一個頁面調用帶有一些查詢字符串參數的另一個頁面。我想在點擊一個按鈕後返回到該頁面。ASP.net重定向到調用頁面
我不得不提到,我在用戶控件中編寫代碼,我不知道哪一頁稱爲第二頁。
在瀏覽器中是否有像返回按鈕?
我有一個頁面調用帶有一些查詢字符串參數的另一個頁面。我想在點擊一個按鈕後返回到該頁面。ASP.net重定向到調用頁面
我不得不提到,我在用戶控件中編寫代碼,我不知道哪一頁稱爲第二頁。
在瀏覽器中是否有像返回按鈕?
你可以看看Cross Page Posting。
或者,如果您通過編程方式生成鏈接,則可以在url中包含returnUrl http://localhost/secondpage.aspx?returnurl=firstpage.aspx
然後,您可以在第二頁中讀取querystring參數,並在完成工作後執行重定向。
最簡單的方法在客戶端使用JavaScript與
window.back();
對於服務器端,您需要保存的URL引用者在Page_Load中:使用Response.Redirect的
if(!Page.IsPostback)
{
ViewState["GoBackTo"] = Request.UrlReferrer;
}
,並在點擊一個按鈕:
Response.Redirect(ViewState["GoBackTo"].ToString());
編輯:請注意ppumkin的評論在下面!
可以使用Request.UrlReferrer,但它不一定所有來自客戶端的發送時間:
Response.Redirect(Request.UrlReferrer.AbsoluteUri);
把頁面加載事件
Btn_Back.Attributes.Add("onClick", "javascript:history.back(); return false;");
這行代碼的UrlReferrer不工作的時候,這怎麼過比羅伯特更好的辦法。 – Aristos
不,它不會總是工作,如果他們直接到頁面。只要把它看成像'if(ViewState [「GoBackTo」] == null)',如果有null,只是重定向到默認登錄頁面,如'account.aspx'或類似。如果你不想使用表單認證+1,這很好 – ppumkin