ASPX页面Response.Redirect到MVC视图

问题描述 投票:2回答:6

是否有可能在aspx中的Response.Redirect返回MVC的视图?

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

尝试:

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

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

asp.net-mvc asp.net-mvc-5
6个回答
5
投票

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


3
投票

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

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

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


1
投票

试试这个:

return RedirectToAction("Index");

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

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

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


0
投票

试试这个 :

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

0
投票

试试这个

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

-1
投票
var page = HttpContext.Current.Handler as Page;
Response.Redirect(page.GetRouteUrl("Default",
    new { Controller = "Nameofcontroller", Action = "Nameofaction" }), false);
© www.soinside.com 2019 - 2024. All rights reserved.