Asp.net mvc 访问不同区域之间的视图

Asp.net mvc 访问不同区域之间的视图,asp.net-mvc,model-view-controller,asp.net-mvc-5,Asp.net Mvc,Model View Controller,Asp.net Mvc 5,我有两个不同的区域(用户和报告),它们分别有两个视图(登录和索引) 我试图做的是在成功登录后,用户应该被重定向到报告/索引页面,但它不起作用 它总是只在用户区域内。有人能指出这里需要纠正的地方吗。谢谢我们将非常感谢您的帮助 如果在MVC结构中使用区域,则调用的RedirectToAction()必须包含区域名称 在您的示例中,以下代码将起作用: return RedirectToAction("Index", "Report", new { area = "Report" }); 另一方面,

我有两个不同的区域(用户和报告),它们分别有两个视图(登录和索引)

我试图做的是在成功登录后,用户应该被重定向到报告/索引页面,但它不起作用

它总是只在用户区域内。有人能指出这里需要纠正的地方吗。谢谢我们将非常感谢您的帮助


如果在MVC结构中使用区域,则调用的
RedirectToAction()
必须包含区域名称

在您的示例中,以下代码将起作用:

return RedirectToAction("Index", "Report", new { area = "Report" });

另一方面,如果您希望从一个区域重定向到不在区域文件夹内的控制器/视图,您可以利用
area=“”

,谢谢您的帮助。还有一个问题,我在_Layout.cshtml page@Html.ActionLink(“登录”,“登录”,“用户”,new{Area=“User”},new{})中有一个ActionLink,这应该重定向到登录页面,但我得到的只是找不到资源,尽管Url是xxx/User/User。知道吗?我想你要传递“Login”参数两次?我不知道您的完整设置和任何自定义URL处理,但我建议尝试
@Html.ActionLink(“Login”,“User”,new{area=“User”})
,前提是您的actionName是“Login”,controller是“User”。为什么第二个新的{}?该方法是否需要空对象?参数:第一个是显示名称,第二个是actionName,第三个是controller,第四个是area,最后一个是htmlAttributes。它也可以为null。除了主要问题中提到的以外,我没有其他定制路线。此外_Layout.cshtml位于root/Views/shared下。这些参数看起来正确,并且顺序正确。是否尝试重新构建应用程序?否则我不确定。谢谢丹尼尔,什么都没做。奇怪的是,我无法直接访问登录页面,即使用URL xxx/User/User/Login会导致页面未找到,当默认路由启动时,URL xxxx会显示登录页面。真奇怪。。。
return RedirectToAction("Index", "Report", new { area = "Report" });