【问题标题】:Html.RenderAction from different directory来自不同目录的 Html.RenderAction
【发布时间】:2013-01-01 06:04:19
【问题描述】:

我是 Asp.Net Mvc 的新手。这是我的解决方案层次结构

PROJECT
    --Area 
        -- Account
            --Controllers
            --Models
            --Views
                -- Edit.cshtml
    -- Contollers (this has an action method "SomeAction")
    --Models
    -- Views
         --Shared
           --Partial.cshtml

其实我想在 Edit.cshtml 视图中渲染 Parial.cshtml。所以我尝试了

@{Html.RenderAction("ControllerName", "SomeAction");}   

但我收到以下错误。

找不到路径“/Account/Edit”的控制器或 没有实现 IController。

不确定我错过了什么?

如果我从我的视图中删除 @{Html.RenderAction("ControllerName", "SomeAction");}。它工作正常

【问题讨论】:

    标签: asp.net-mvc renderaction


    【解决方案1】:

    您应该将区域名称传递给RenderAction 方法:

    @{Html.RenderAction("ControllerName", "SomeAction", new{area=""});}
    

    【讨论】:

    • 我的操作方法没有任何参数。那我为什么要传递区域作为路由值呢?
    • 参数区没有传递给你的action方法。它设置了你的控制器应该在的区域。
    • 好的,明白了。但行动不在区域。它在根“控制器”文件夹中,我正在尝试从区域中的 View(Edit.cshtml) 呈现该操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 2014-11-30
    • 1970-01-01
    • 2018-06-18
    • 2014-05-05
    • 2011-07-25
    • 2012-02-18
    相关资源
    最近更新 更多