2013-05-07 80 views
1

在.net網站上,是否有一種簡單的方法可以將某人發回當前頁面上的最後一個頁面沒有某種過硬的麪包屑系統?我知道這聽起來有點令人困惑,但讓我們說你在Page1.aspx上。你去Page2.aspx,它有一個網頁表單。您填寫發回自己的網頁表單。回發之後,我想將它們發回到他們首先訪問的任何頁面,在這種情況下:Page1.aspx。 Page1.aspx顯然是可變的。在當前頁面上提交網頁表單後,用戶回到上一頁,.net

我開始使用一些JavaScript使用history.go(),但我無法讓它正常工作。有什麼建議麼?

回答

1

這裏描述使用Request.UrlReferrer物業:

Navigate to Previous Page in ASP.NET(Request.UrlReferrer)

+0

我也理解這種方法,但它需要保存ViewState中的上一頁。我試圖通過嘗試直接利用DOM來避免這種類型的編程(因爲有很多頁面可能是引用者)。 – optionsix 2013-05-07 23:31:59

+0

每頁的ViewState大小都是最小的。對它做一個跟蹤,看看。您只在ViewState中保存頁面名稱,而不是頁面本身。 – IrishChieftain 2013-05-07 23:34:08

+1

啊,我懂了。我以爲我將不得不在每個引用頁面上設置ViewState,這將是很多工作。相反,我將Page2.aspx上的ViewState設置爲Request.UrlReferrer中的任何內容。然後在回發後重定向到它。這絕對讓我思考着正確的方向。 – optionsix 2013-05-07 23:38:48

0

您可以發送必須返回作爲URL參數,就像登錄模塊做的頁面。

例如,您使用此URL page2.aspx?RetPage=Page1.aspx轉到page2.aspx,當您完成第2頁時,您將獲得RetPage並重定向到您在此設置的任何值。

+0

與此相同..它需要我留下蹤跡或麪包屑追蹤。這是完全可行的,它只是需要我通過大量的網頁,並將其加入。 – optionsix 2013-05-07 23:32:22

+0

@optionsix你可以嘗試和其他人,但他們不是100%保證他們總是工作。 – Aristos 2013-05-07 23:34:05

+0

是的,我知道......我希望有一個捷徑,但我知道這是一個很好的後備,如果有點咕嚕,工作。 – optionsix 2013-05-07 23:36:12

0

您可以將referrer(Page1.aspx)傳遞給Page2.aspx。 Page2.aspx然後使用隱藏的輸入字段,其中包含引用。
當訪問者從Page2(自身)提交表單時,表單處理程序會收到引用鏈接,並在結果頁面中將其設置爲http-equiv="refresh"

<html>  
    <head>  
    <title>Form Result</title>  
    <meta http-equiv="refresh" content="5;URL='Page1.aspx'" />  
    </head>  
    <body> 
    <p>Thank you for your input, you will automatically return to 
     <a href="Page1.aspx/">the previous page in 5 seconds.</a>.</p> 
    </body> 
</html> 

通過將超時時間改爲超過0秒,用戶仍然可以在自動發回他來自的頁面之前閱讀結果。

希望這會有所幫助!

+0

我理解這種方法,但它會要求我傳遞引用程序,該引用程序仍然是麪包屑。 「Page1.aspx」可以是50個不同的引用頁面中的任何一個,其中每個頁面都必須在引用鏈接中編程,除非我對此不正確? – optionsix 2013-05-07 23:31:19

+0

是的,你從服務器獲得引用(如變量),你不必編寫每個引用頁面的列表。 – GitaarLAB 2013-05-07 23:51:26

相關問題