我有一個名爲Login.ascx的局部視圖,它包含我在整個站點的多個頁面上包含的登錄框。它的工作正常,當信息是正確的,但我想做驗證,所以如果登錄信息不正確,我想重定向到他們在之前的視圖,以顯示他們的登錄錯誤。什麼是正確的說法,回到你來自的視角?ASP.NET MVC局部視圖和重定向
1
A
回答
2
聽起來好像不是問我如何做到這一點,你應該問自己爲什麼我這樣做。也許這是一個設計決定,而不是技術問題。
但如果你真的要對多個登錄頁面,你可以嘗試一個控制器動作......
return Redirect(Request.UrlReferrer.ToString());
或者在TempData的保持路由名稱,只是用RedirectToRoute(TempData的[「LoginRoute 「]);
儘管這兩種解決方案都有不好的代碼味道。
請注意,如果您沒有檢查即將引用其他網站的跨網站注入。您可能需要對推薦網址進行一些驗證。
0
爲AccountController
的內置Login
方法有一個名爲returnUrl
參數,你可以使用像這樣:如果指定returnUrl
參數作爲
Return Redirect(returnUrl);
或
Return RedirectToAction(returnUrl);
有效的actionlink。
最近,我有類似的問題 - 你也許能找到一些here ...
5
如果登錄任何網頁失敗,我想我會引導他們到了錯誤,而不是以前的登錄視圖頁。專用登錄頁面可能會有更多UI空間來顯示錯誤等,而不是另一頁面上的登錄控件。話雖如此,您可能需要在Login操作中包含一個returnUrl參數,以便當登錄成功時,用戶將被引導回它們(或正在嘗試訪問的位置)。
相關問題
- 1. Asp.net MVC局部視圖
- 2. ASP.Net MVC局部視圖和jqGrid
- 3. asp.net mvc部分視圖重定向或顯示錯誤
- 4. ASP.NET MVC:在部分主視圖中重定向錯誤
- 5. Asp.net MVC 3局部視圖回發
- 6. 局部視圖難度ASP.NET MVC
- 7. System.InvalidCastException:在ASP.NET MVC局部視圖
- 8. jquery加載與asp.net MVC局部視圖
- 9. ASP.NET MVC局部視圖幫助
- 10. ASP.NET MVC通用局部視圖模式
- 11. ASP.NET MVC中的AngularJS局部視圖
- 12. ASP.Net MVC從控制器的局部視圖重定向到不同控制器的全視圖
- 13. ASP.NET MVC:在ASP.NET Forms中包含MVC局部視圖頁面
- 14. ASP.NET MVC - 重定向到外部頁面?
- 15. Asp.net MVC模型的視圖和佈局
- 16. 從另一個局部視圖僅更新asp.net mvc中的局部視圖
- 17. 帶MVC的Ajax.ActionLink和Ajax.BeginForm局部視圖
- 18. MVC局部視圖後
- 19. .net mvc局部視圖
- 20. Ajax.beginForms MVC局部視圖
- 21. asp.net MVC使用可選參數和局部視圖
- 22. ASP.NET MVC +模型狀態和局部視圖
- 23. MVC局部視圖隱藏主視圖
- 24. 重定向到局部視圖,另一個控制器
- 25. MVC局部視圖循環返回上一個局部視圖
- 26. ASP.NET MVC 3局部視圖佈局頁面
- 27. 無法重新綁定在MVC局部視圖控件的值
- 28. ASP.NET MVC部分視圖和表格
- 29. ASP.NET MVC 4 - 部分視圖和Ajax.Actionlink
- 30. ASP.NET MVC,部分視圖和數據
問題在於,如果由於驗證問題而返回,則returnUrl參數已消失。 – 2009-02-19 22:13:28