我有一個ActionLink,它調用了我的公共ActionResult,並且我希望它返回到它被調用的頁面,但是怎麼做?ActionResult返回到調用它的頁面
回答
有幾個技巧可以用於此目的。
最簡單的是...
return Redirect(HttpContext.Request.UrlReferrer.AbsoluteUri);
絕對URI可能不會給你你正在尋找的確切路徑,但UrlReferrer應該有你要找的imformation。重定向返回ActionResult的一個子類,所以它是一個有效的返回值。
另一個想法是將重定向位置從存儲值中取出。如果您要在重定向之前發出多個請求,例如驗證表單並在第一個響應中顯示驗證問題時,這非常有用。另一種情況是,當推薦人不是本地網站時。無論哪種情況,您的推薦人都不會是您想要的,您需要從其他地方找回正確的位置。
具體實現包括在表單上使用隱藏輸入字段,會話狀態,從路由數據中提取一個描述符值,或者甚至只是一個像HttpContext.Request.ApplicationPath一樣更常量的值。
祝你好運。
我在頁面'A'上,從那裏我導航到'B'頁面。 現在我刷新頁面'B'。 在這種情況下,Request.UrlReferrer返回'B',但我期待'A'。 任何幫助? – 2016-04-14 11:21:42
請記住,由於Web的無狀態性質,您的ActionResult不會從您的ActionLink「調用」,它只是用戶代理請求的url。
正因爲如此,唯一真正的「內置」的方式,你可以知道用戶來自何處是通過檢查HTTP請求頭,看看引用頁是什麼:
string referrer = Request.Headers["referer"];
你」 d然後負責從這個URL解析出Action方法,如果你打算直接調用它的話。請注意,此推薦人可能不是您自己網站中的鏈接。
- 1. 從PayPal返回到調用它的頁面
- 2. 返回調用頁面javascript
- 3. jquery $ .ajax調用MVC actionresult,它返回JSON觸發器.error block
- 4. 返回到共享頁面的調用頁面
- 5. 我想返回一個新的頁面上顯示的ActionResult?
- 6. 使用JSON.NET返回ActionResult
- 7. 如何返回ActionResult?
- 8. 返回ActionResult as 301
- 9. 如何調用aspx頁面並讓它返回圖片?
- 10. 指數的ActionResult返回404
- 11. Javascript發送數據到ActionResult,返回RedirectToAction
- 12. 當頁面返回到
- 13. 阻止ActionResult發佈到新頁面?
- 14. PHP的url參數並返回到調用頁面
- 15. PHP返回到相同的頁面,調用header()函數
- 16. Javascript調用函數,不要再調用它,直到它返回
- 17. Casting ActionResult as HttpNotFoundResult返回null
- 18. asp.net MVC返回actionresult視頻
- 19. HTML表單調用返回附件的PHP頁面;我如何將「控制」返回到HTML頁面?
- 20. 無法從調用異步方法的控制器返回ActionResult
- 21. 如何在ajax調用後返回的html頁面調用window.print
- 22. 如何從調用中的另一個頁面發佈到另一個ASP.NET頁面以返回到該頁面?
- 23. actionresult刷新當前頁面
- 24. 隱藏頁面,直到異步調用返回後
- 25. 頁面刷新返回到上一頁
- 26. Ajax調用鏈接到新的頁面沒有返回新的一頁
- 27. 在對ActionResult進行jQuery ajax調用時頁面更新
- 28. XHR調用返回HTML,如何使用它並重新加載整個頁面?
- 29. 當返回到同一頁面時,它停止滾動
- 30. 返回PHP頁面
你的問題不是很清楚。默認情況下,最簡單的ActionLink構造函數使用與創建鏈接時處理視圖相同的控制器。你的意思是你想讓它做一個Ajax風格的調用,這樣瀏覽器頁面不會改變? – womp 2009-08-17 16:19:35