2014-09-04 48 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