我正在看一本书中的一个例子,作者试图创建一个自定义控制器工厂,如下所示。(仅指 CreateController 方法)
public IController CreateController(RequestContext requestContext,
string controllerName) {
Type targetType = null;
switch (controllerName) {
case "Product":
targetType = typeof(ProductController);
break;
case "Customer":
targetType = typeof(CustomerController);
break;
default:
requestContext.RouteData.Values["controller"] = "Product";
targetType = typeof(ProductController);
break;
}
return targetType == null ? null :
(IController)DependencyResolver.Current.GetService(targetType);
}
对于默认情况,controllerName 默认情况的值被设置为现有的控制器(产品)。给出的原因是,这将导致 MVC 框架搜索与备用控制器关联的视图,而不是用户请求的控制器。我的问题是为什么没有以类似的方式搜索案例产品和客户的视图?