2014-09-04 78 views
2

是否可以在Response.Redirect中返回MVC視圖的aspx?ASPX頁面Response.Redirect到MVC視圖

我有一個login.aspx頁面,我需要成功登錄後重定向到〜/ Views/Home/index.cshtml中的視圖是可能的嗎?我試圖跟隨,但無法解決的URL。

嘗試:

  1. Response.Redirect("~/Views/Home/Index.cshtml");

  2. Response.Redirect("Home");

該控制器 「的HomeController」 和視圖是 「Index.cshtml」 與如何調用控制器任何幫助並查看或至少只是網址會有所幫助。

+1

'的Response.Redirect(URL)'會向用戶發送到哪裏'url'是。 URL是否屬於同一網站上的資源或其他方面的資源或由不同視圖引擎顯示的技術無關緊要。只要它是一個有效的URL,它就會去那裏。 – mason 2014-09-04 18:53:45

回答

4

如何Response.Redirect("/Home/Index"); - 那是當然的。假定你有一個Index的行動,返回你正在尋找的視圖HomeController(按照慣例,這將是具有相同的名稱作爲動作視圖,除非你另外指定)。

+1

這工作完美...感謝百萬@DimitarDimitrov – MizAkita 2014-09-04 19:50:43

+0

@MizAkita :)真棒!很高興我能幫上忙!歡呼 – 2014-09-04 20:02:07

0

試試這個:

Response.Redirect(Url.Action("Index", "Home")); 
0

試試這個:在MVC框架你不

return RedirectToAction("Index", "Home"); 

return RedirectToAction("Index"); 

假設這是在同一個控制器,如果不t直接重定向到視圖,你重定向到動作,然後在那裏有一些邏輯,並基於邏輯fr OM行動將選擇一個視圖,並填寫必要時視圖模型

+0

OP是在一個webforms頁面。 – MikeSmithDev 2014-09-04 19:16:06

+0

,但他們已將所有MVC庫添加到項目 – 2014-09-04 19:16:51

+0

PageLoad是'void' ...什麼是OP'return'ing? – MikeSmithDev 2014-09-04 19:17:29

2

這裏是我從.aspx重定向到一個MVC視圖:

var page = HttpContext.Current.Handler as Page; 
Response.Redirect(page.GetRouteUrl("yourRouteNameOrDefault", 
    new { Controller="Home", Action="Index"}), false); 

阻止你在實際的路徑硬編碼和而是使用您的路由,並且還允許您構建routeParameters

0

嘗試這個

Response.Redirect("~/Home/Index"); 
-1
var page = HttpContext.Current.Handler as Page; 
Response.Redirect(page.GetRouteUrl("Default", 
    new { Controller = "Nameofcontroller", Action = "Nameofaction" }), false); 
+2

儘管此代碼可能會回答問題,但爲何和/或代碼如何回答此問題提供了其他上下文,這可以提高其長期價值。 – rollstuhlfahrer 2018-03-03 11:21:59