C# 为什么检索类别菜单时出错?

C# 为什么检索类别菜单时出错?,c#,asp.net,asp.net-mvc,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 5,检索类别时显示错误 中发生“System.InvalidOperationException”类型的异常 System.Web.dll,但未在用户代码中处理 其他信息:尝试创建时出错 “OnlineDirectory.Controllers.NavController”类型的控制器。制作 确保控制器具有无参数公共构造函数 @动作(“菜单”、“导航”) @RenderBody() 这个错误再清楚不过了。您的控制器没有默认构造函数 例如: 默认情况下,MVC需要一个默认的无参数构造函数。这是因为它

检索类别时显示错误

中发生“System.InvalidOperationException”类型的异常 System.Web.dll,但未在用户代码中处理

其他信息:尝试创建时出错 “OnlineDirectory.Controllers.NavController”类型的控制器。制作 确保控制器具有无参数公共构造函数


@动作(“菜单”、“导航”)
@RenderBody()

这个错误再清楚不过了。您的控制器没有默认构造函数

例如:

默认情况下,MVC需要一个默认的无参数构造函数。这是因为它不知道如何包含依赖项

要注入依赖项,必须将DI框架连接到MVC中。如何做到这一点取决于您选择的容器。。你还没有提供

<div class="row panel">
    <div id="categories" class="col-xs-3">
        @Html.Action("Menu", "Nav")
    </div>
    <div class="col-xs-8">
        @RenderBody()
    </div>
</div>
// right - what you don't have
public HomeController() {
}

// wrong - what you DO have
public HomeController(IDependency dependency) {
}