ASP.NET的MVC框架 Castle MonoRail 学习(一)

        很喜欢使用.net 中的MVC框架,对于集中控制,模板语言的灵活性印象很深刻。最近准备系统的学习Monorail,到网上一搜,学习Monorail的资料还真的不少,在博客中开了这个分类权当做自己的学习笔记。我准备用Monorail搭建个三次框架,WebPage 做页面的展现(其实也可以反射几个基本的对象到页面,比如数据库的操作,在前台使用Nvelocity 加Ajax实现业务逻辑的部分,我在实际的项目经常这样使用,这样做有很多的灵活性),Web层实现业务逻辑和Controller,Data层可以考虑使用Nhibernate(暂时使用SqlHelper,以后可以考虑扩展)。
         我看过的学习资料
         永春阁的Monorail学习比较   http://www.cnblogs.com/firstyi/archive/2007/10/19/930691.html
         Qin的博客    http://www.cnblogs.com/zq535228/category/115327.html
        
         注意的要点:
         1.  配置文件

<? xml version="1.0" ?>

< configuration >
  
< configSections >
    
< section  name ="monoRail"  type ="Castle.MonoRail.Framework.Configuration.MonoRailSectionHandler, Castle.MonoRail.Framework" />
  
</ configSections >
    
< appSettings />
    
< connectionStrings />

  
<!-- 如果要使用Castle的IOC,则为 -->
  
<!-- <monoRail  useWindsorIntegration="true">  -->
    
< monoRail >
        
< controllers >
          
<!-- 定义controller所在的assembly -->
          
< assembly > MyMonorail.Controller </ assembly >
        
</ controllers >
        
< viewEngine  viewPathRoot ="Views"  customEngine ="Castle.MonoRail.Framework.Views.NVelocity.NVelocityViewEngine, Castle.MonoRail.Framework.Views.NVelocity" />
      
</ monoRail >
      
< system.web >
        
< httpHandlers >
          
<!-- 定义httpHandler, 让MonoRailHttpHandlerFactory接管指定扩展名的url -->
          
< add  verb ="*"  path ="*.rails"  type ="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework" />
          
<!--  阻止模板文件被下载  -->
          
< add  verb ="*"  path ="*.vm"  type ="System.Web.HttpForbiddenHandler" />
        
</ httpHandlers >
        
< compilation  debug ="true" />
    
</ system.web >
</ configuration >
         2.Controller 类
         public class HomeaController : Castle.MonoRail.Framework.Controller
         类名字HomeaController homea 对应与web页面下的homea 文件夹。
         3.方法 public void Indexa()
          方法的名字 Indexa 与homea文件夹下的模板名字相同 indexa.vm
         4.views 下的nvelocity.properties 文件很重要,默认情况下Nvelocity是不支持中文的,加上这个文件防止中文乱码。
       
        Demo下载地址: http://files.cnblogs.com/ilahsa/monorail1_nvelocity.rar

       

你可能感兴趣的:(asp.net)