ASPX页面Response.Redirect到MVC视图

时间:2014-09-04 18:47:04

标签: asp.net-mvc asp.net-mvc-5

是否可以在aspx中使用返回MVC视图的Response.Redirect?

我有一个login.aspx页面,我成功登录后需要重定向到〜/ Views / Home / index.cshtml中的视图这可能吗?我试图关注,但网址无法解决。

尝试:

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

  2. Response.Redirect("Home");

  3. 控制器是" HomeController"并且视图是" Index.cshtml"任何帮助如何调用控制器和查看或至少只是网址将有所帮助。

6 个答案:

答案 0 :(得分:5)

Response.Redirect("/Home/Index");怎么样 - 当然假设你有HomeController Index动作返回你正在寻找的视图(按照惯例,它将是一个视图与操作同名,除非您另行指定)。

答案 1 :(得分:3)

以下是我从.aspx重定向到MVC视图的方式:

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

让您远离实际路径中的硬编码,而是使用您的路由,并允许您构建routeParameters

答案 2 :(得分:1)

试试这个:

return RedirectToAction("Index");

假设它在同一个控制器中,如果不是:

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

在MVC框架中你不直接重定向到视图,你重定向到Actions,那里我有一些逻辑,并根据Action的逻辑,它将选择一个视图并填写一个视图模型,如果必要

答案 3 :(得分:0)

试试这个:

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

答案 4 :(得分:0)

试试这个

Response.Redirect("~/Home/Index");

答案 5 :(得分:-1)

var page = HttpContext.Current.Handler as Page;
Response.Redirect(page.GetRouteUrl("Default",
    new { Controller = "Nameofcontroller", Action = "Nameofaction" }), false);