【问题标题】:How to render a partial in the main project from an area in MVC 3?如何从 MVC 3 中的区域渲染主项目中的部分内容?
【发布时间】:2011-06-24 17:36:24
【问题描述】:

我有一个 MVC 3 Razor 项目。它有一个称为管理的区域。我在项目的 Views/Shared 文件夹中有页面的基本布局(默认情况下)。我在名为 Common 的主项目中有一个控制器。它将负责基于业务逻辑的布局的某些部分(基于角色的导航等)。我有

@Html.Action("Navigation", "Common")

在 _layout.cshtml 文件中被调用。设置为渲染导航栏。当我转到管理区域中的路由(“admin/somedomainobject/add”)时,运行时错误指出以下内容:

"路径控制器 “/admin/somedomainobject/add”不是 发现或未实施 控制器。”

当我从布局中删除该行时,它存在得很好。如果我使用上述语法或以下语法,则会发生错误:

@{Html.RenderAction("Naviation", "Common");}

是因为我使用的是区域吗?我是否以错误的方式使用主项目文件夹?

任何想法将不胜感激!

【问题讨论】:

    标签: asp.net-mvc-3 razor partial-views asp.net-mvc-areas


    【解决方案1】:

    这是因为在您的管理区域中,所有生成的链接都将继承该区域,除非另有明确说明,请尝试

    @{ Html.RenderAction("Naviation", "Common", new { @area = string.Empty }); }
    

    【讨论】:

    • 啊!!这么小的东西..谢谢卢卡斯。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-27
    • 2011-07-24
    • 2020-05-28
    相关资源
    最近更新 更多