Asp.net-Mvc
返回 ASP.Net Core MVC 中的上一頁
在我的客戶詳細資訊頁面中,我有一個按鈕來編輯重定向到編輯頁面的客戶記錄。我在編輯頁面上有一個“返回客戶詳細資訊”連結,我想將使用者重定向回之前的客戶詳細資訊頁面。
<a asp-controller="Client" asp-action="Detail" asp-route-id="@Model.ClientID">Return to client detail</a>目前,這按預期工作,但需要額外的時間,因為它會從頭開始重新載入詳細資訊頁面(即再次執行所有各種數據庫查詢)。由於使用者實際上只是取消了編輯而沒有對客戶端的狀態進行任何更改,因此我希望將使用者返回到上一個詳細資訊頁面,而不必再次執行控制器操作。
本質上,我想模擬瀏覽器後退按鈕(以提高響應能力),但我不確定如何實現這一點,或者這樣做是否是一種好習慣。一些指導將不勝感激。
謝謝
因為
IActionResult您可以使用此程式碼:public IActionResult Test() { return Redirect(Request.Headers["Referer"].ToString()); }
你知道嗎?我討厭 JS,所以我會用後端寫答案。HTTP referer 是一個 HTTP 標頭欄位,用於標識連結到所請求資源的網頁地址。所以只需閱讀並傳遞給視圖(永遠記住 XSS 和驗證,使用者可以輕鬆欺騙HTTP 請求)
動作控制器
if(Request.Headers["Referer"] != null) { ViewData["Reffer"] = Request.Headers["Referer"].ToString(); }視野中(剃刀)
@if(!string.IsNullOrWhiteSpace(ViewData["Reffer"])) { <a href="@ViewData["Reffer"]">Return to client detail</a> }