为什么在检索类别菜单时出现错误?

时间:2014-02-23 21:45:33

标签: c# asp.net asp.net-mvc asp.net-mvc-5

检索类别时显示错误。

  

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

     

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

<div class="row panel">
    <div id="categories" class="col-xs-3">
        @Html.Action("Menu", "Nav")
    </div>
    <div class="col-xs-8">
        @RenderBody()
    </div>
</div>

1 个答案:

答案 0 :(得分:2)

错误无法更清楚。您的控制器没有默认构造函数。

E.g:

// right - what you don't have
public HomeController() {
}

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

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

要注入依赖项,必须将DI框架连接到MVC。怎么做取决于您选择的容器..您没有提供。