Asp.net mvc ASPX页面响应。重定向到MVC视图

Asp.net mvc ASPX页面响应。重定向到MVC视图,asp.net-mvc,asp.net-mvc-5,Asp.net Mvc,Asp.net Mvc 5,是否可以在从MVC返回视图的aspx中执行Response.Redirect 我有一个login.aspx页面,我需要在成功登录后重定向到~/Views/Home/index.cshtml中的视图。这可能吗?我已尝试跟踪,但无法解析url 尝试: Response.Redirect(“~/Views/Home/Index.cshtml”) Response.Redirect(“Home”) 控制器是“HomeController”,视图是“Index.cshtml”。任何关于如何调用控制器和视图

是否可以在从MVC返回视图的aspx中执行Response.Redirect

我有一个login.aspx页面,我需要在成功登录后重定向到~/Views/Home/index.cshtml中的视图。这可能吗?我已尝试跟踪,但无法解析url

尝试:

  • Response.Redirect(“~/Views/Home/Index.cshtml”)

  • Response.Redirect(“Home”)


  • 控制器是“HomeController”,视图是“Index.cshtml”。任何关于如何调用控制器和视图的帮助,或者至少url都会有帮助。

    关于
    Response.Redirect(“/Home/Index”)-这当然是假定您有一个带有
    索引的
    HomeController
    操作,该操作返回您要查找的视图(按照惯例,除非您另有指定,否则它将是一个与该操作同名的视图)。

    尝试以下操作:

    Response.Redirect(Url.Action("Index", "Home"));
    
    试试这个:

    return RedirectToAction("Index");
    
    假设这是在同一控制器中,如果不是:

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

    在MVC框架中,您不直接重定向到视图,而是重定向到操作,然后其中包含一些逻辑,根据操作的逻辑,它将选择一个视图并在必要时填写一个视图模型。以下是我如何从
    .aspx
    重定向到MVC视图:

    var page = HttpContext.Current.Handler as Page;
    Response.Redirect(page.GetRouteUrl("yourRouteNameOrDefault", 
        new { Controller="Home", Action="Index"}), false);
    
    避免您在实际路径中硬编码,而是使用您的路由,还允许您在
    路由参数中构建

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

    Response.Redirect(url)
    将用户发送到
    url
    所在的任何位置。不管URL是指向同一站点上的资源,还是指向另一端的资源,或者指向不同视图引擎显示的技术。只要它是一个有效的URL,它就会出现在那里。OP在webforms页面中。但是他们将所有MVC库添加到projectPageLoad is
    void
    。。。什么是OP
    return
    ing?啊。。。是的,你是对的。你可以这样做,但有更好的答案here@MizAkita)太棒了!很高兴我能帮忙!欢呼虽然此代码可能会回答问题,但提供有关此代码回答问题的原因和/或方式的其他上下文可提高其长期价值。
    var page = HttpContext.Current.Handler as Page;
    Response.Redirect(page.GetRouteUrl("Default",
        new { Controller = "Nameofcontroller", Action = "Nameofaction" }), false);