从留言簿开始,学习MonoRail MVC(一)

关注MVC开发Web应用程序是看到《一个.NET的MVC Web框架》这篇文章以后开始的,通过官方网站的几个教程很快引起了我的兴趣,的确是非常简洁,让我想起了ASP的时代。再搜索了一下ASP.NET MVC框架,发现MonoRail相对来说文档较多一些,决定从它开始。最近一段时间微软要推出ASP.NET的MVC框架新闻各大技术网站都在转,博客园针对MonoRail的文章也多了起来。使用ASP.NET WebForm开发的经验不是很多,所以学习MonoRail显得更容易一些,没有固有的思维方式限制,这对我是个有利的一面。

准备

学习MonoRail的一些参考资料:

Velocity 《VTL语法参考指南》中文版
MonoRail在View一层提供了多种Render引擎,貌视NVelocity的最多。它语法应该和Velocity是一致的(未考证)。

prototype.js 1.4版开发者手册
如果要使用AJAX技术的话,对这套JS库有所了解对你非常有帮助,MVC模式下可没有Update Panel使用了。

MonoRail中的ajaxHelper入门
看了这篇文章以后才知道AJAX其实和MonoRail MVC框架没多大关系,要想用好AJAX应用还是得了解prototype.js这些库。

先看看博客园两位朋友的文章,入门还要更快一些。
一是YokMonoRail专栏
二是福娃 的 MonoRail学习-介绍篇

另外MonoRail的官方网站http://www.castleproject.org/是必须要去的。

实战

在官方网站下载安装包安装好以后,就可以使用VS2005开始工作了,具体方法还是参考上面两位朋友的文章吧。
通过两个晚上的摸索,对MonoRail有了大致的了解。通过编写了一个留言簿的实战,明白了如何在MonoRail上实现以下技术和一些细节。
1、三层架构应用
2、AJAX应用
3、Url Rewriting
4、Model、View、Controller分别建立Project,在大中型项目中这是必不可少的。

现在还没有搞清楚的事情和下一步要做的实验:
1、多层目录结构如何与Controller对应;
2、表单验证是否有更方便的实现方式,现在使用prototype.js可以进行验证,不过内容仍然提交到服务器上了。
3、如何进行View嵌套,现在只是通过ShareView的方式共享。
4、View目录中的模板使用的图片、CSS等文件放在那儿合适。现在的问题是放在网站目录下编辑时看不到效果,放到View目录下不利于发布。
5、如何方便的对网站换肤,还有待进一步实验。

希望我能坚持把这次学习过程记录下来。
项目截图:

把这次实践的源码发上来,希望对学习MonoRail的朋友有所帮助。

 * 昨天晚上发布的代码中未包含NVelocity引擎库,现在已经加上。请需要的朋友重新下载。
下载:https://files.cnblogs.com/fuyun/GeustBook.rar

posted @ 2007-10-17 22:58  浮云  阅读(1641)  评论(5编辑  收藏  举报