准备写个博客练习一下WEB编程,有一个需求就是多模板支持,类似博客园的自定义模板一样,在ASP.NET MVC中如何处理这个需求呢?
描述
允许自定义模板,比如:传统模板、Metro模板等
模板结构
重写模板引擎的默认搜索路径
分析
这回导致全局的修改,或者应该增加一个搜索路径(这里就不测试了),因为有些视图是不用多模板支持的,因此这种方式不太适合。
为VIewResult指定路径
这种非常灵活,符合需要,但是代码看起来不够漂亮,好在MVC非常灵活,可以用Filter机制帮我们处理。
Filter机制
采用FIlter这种AOP机制,让调用代码看起来非常漂亮,最终就采用这种方式。
代码
运行效果
ViewResult的ViewName可以是绝对路径,也可以是相对路径,默认的相对路径是相对于Controller目录。