Asp.net mvc 4 如何让MVC找到我的控制器路径?

Asp.net mvc 4 如何让MVC找到我的控制器路径?,asp.net-mvc-4,razor,controller,asp.net-mvc-partialview,renderaction,Asp.net Mvc 4,Razor,Controller,Asp.net Mvc Partialview,Renderaction,我试图在我的\u布局视图中为部分视图调用操作。如果我将动作放置在主控制器中,它会工作,但是如果我创建一个新的控制器StatusController,将相同的子动作方法放置在其中,并从\u布局视图调用它,我会得到一个错误: 未找到或未实现控制程序路径“/” I控制器 从layout视图\u layout.cshtml中,我这样调用该操作: @{Html.RenderAction("_GetforStatus", "StatusController");} \u GetforStatus()是状

我试图在我的
\u布局
视图中为部分视图调用操作。如果我将动作放置在主控制器中,它会工作,但是如果我创建一个新的控制器
StatusController
,将相同的子动作方法放置在其中,并从
\u布局
视图调用它,我会得到一个错误:

未找到或未实现控制程序路径“/” I控制器

从layout视图
\u layout.cshtml
中,我这样调用该操作:

 @{Html.RenderAction("_GetforStatus", "StatusController");}
\u GetforStatus()
状态控制器
中的子操作方法,以及局部视图的名称


如何让ASP.NET MVC 4找到我的新控制器?

您必须传递控制器名称而不使用控制器后缀才能使其工作。框架本身将执行该控制器的操作

这样写:

@{Html.RenderAction{"_GetforStatus", "Status");}
或者,您也可以使用:

@Html.Action("_GetforStatus","Status")

后挂起的控制器名字对象是隐含的。另外,检查括号。请尝试在下面渲染布局中的局部

 @{Html.RenderPartial("_GetforStatus", "Status");}

你有什么地方吗?我对这个很陌生。。。老实说,我不知道你所说的“区域”是什么意思,所以我猜答案是“否”。你是否尝试过
{Html.RenderAction(“_GetforStatus”,“Status”);}
在控制器名称中没有
控制器
?如果没有@haim770,那就是键入错误