我正在尝试调用外部程序集中定义的控制器操作,但应用程序始终返回未找到资源的情况。控制器是微不足道的,看起来像这样:
namespace MyExternal.Controllers
{
[HandleError]
public class ProjAdminController : Controller
{
public ActionResult Index()
{
return View();
}
}
}
然后我更新了路由以包含可选的命名空间:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },
new[] { "MyExternal.Controllers" }
);
但是,当我尝试调用控制器和操作时,它找不到控制器。我安装了路由调试器,它通过了路由测试,但它没有找到控制器或停在我的断点上。它可能有点小,但我无法弄清楚这一点。我的道歉是这是一个重复。事实证明原始代码在控制器类的命名中有一个错误,但其余代码很好地作为如何执行此操作的示例。
答案 0 :(得分:1)
IMO您应该在动作调用中添加area
参数。它应该包含该控制器的命名空间。