DefaultControllerFactory的SimpleControllerFactory
public class SimpleControllerFactory : DefaultControllerFactory
{
protected override IController CreateController(RequestContext
requestContext string controllerName)
{
Controller controller = (Controller)baseCreateController
(requestContext controllerName);
controllerViewEngine = new SimpleViewEngine();
//修改默认的视图引擎为我们刚才创建的视图引擎
return controller;
}
}
这里只要修改controllerViewEngine为
我们自定义的ViewEngine就可以了最终的类图大概如下
要使我们创建的控制器工厂类SimpleControllerFactory 成为默认的控制器工厂类我们必须在Globalasaxcs中的Application_Start 事件中添加如下代码ControllerBuilderCurrentSetControllerFactory(typeof(SimpleControllerFactory));
到这里我们已经完成了我们自己的视图引擎
在ASPNET MVC中实现自定义的视图引擎是很简单的难点在于模板的解析具体大家可以研究MvcContrib中的四个视图引擎的代码最近要对模板引擎进行研究大家有什么其他优秀的成熟的开源的模板引擎麻烦给小弟推荐一下先谢了
[] [] []