gpt4 book ai didi

asp.net-mvc - 如何管理不同 Controller 中的 MVC 区域和 RenderAction?

转载 作者:行者123 更新时间:2023-12-02 12:54:31 26 4
gpt4 key购买 nike

我刚刚向我的项目添加了一个新的管理区域,因为它开始变得相当大,并且我希望保持其结构化。

我有一个 _ViewStart.cshtml View ,它设置共享布局页面以包括菜单和带有一些用户信息的部分。由于这没有添加到我的区域页面上,因此我也将 _ViewStart 文件添加到了我的区域中。

此文件将布局设置为“~/Views/Shared/_Layout.cshtml”,该布局位于我的管理区域之外。但是,_Layout 文件包含一个 RenderAction() 方法,该方法调用 Controller 上的 Child 操作方法进行渲染。问题是该区域似乎不可见该 Controller ,因此抛出以下异常:

The controller for path '/Admin/LeadOrigin' was not found or does not implement IController.

它发生的点在这里:

Line 70:         <div id="logindisplay">
Line 71: @{
Line 72: Html.RenderAction("UserInfo", "Account");
Line 73: }
Line 74: </div>

上面的 RenderAction() 可以正常工作,因为帐户 Controller 在 View 的范围内,而在管理区域中,它似乎没有该 Controller 的范围。

有什么想法可以解决这个问题吗?

最佳答案

您可以将区域指定为 RouteValueDictionary(或只是路线值的对象)的一部分,在您的情况下,RenderAction 将其作为第三个参数:

Html.RenderAction("UserInfo", "Account", new { area = "" });  

这是假设帐户 Controller 位于根区域。

关于asp.net-mvc - 如何管理不同 Controller 中的 MVC 区域和 RenderAction?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7389843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com