2014-02-23 37 views
-3

当我检索类别时显示错误。为什么我在检索类别菜单时遇到错误?

“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> 

回答

2

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

E.g:

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

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

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

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

相关问题