vici mvc是国外一个开源的.net开发框架,他抛弃了.net的控件,解脱了.net web 开发人员前台后台一起写的困惑,mvc 三层结构的分层又让我们大大提高了编程的效率,和代码的重用性。目前,.net 自带的mvc框架很受欢迎,但我们细心会发现很多大的公司都开发了自己的框架,比如csdn,和我本人熟悉的公司红马传媒。近期时间比较充裕,网上找了一下目前开源的.net mvc框架,着实不多,起码国内没有,vici是一个很不错的,百度谷歌均找不到完整地英文翻译教材,自己搞了一段时间,那么我就把我对vici的理解尽量正确地诠释给大家,希望对大家有帮助。
一、建立自己的项目
vici mvc需要在visual studio 2005下开发,不过,我们也可以在2008或者2010下直接建立类库来配置一下。
下面是建立一个完整项目的步骤:
1、建立一个ASP.NET web application
2、 添加引用Vici.Mvc.dll 和 Vici.Parser.dll
3、建立一个 application class
4、修改配置文件web.config
5、建立一个静态模版
6、建立一个母模版
7、创建对应的视图(view)和控制器(controller)
1、建立一个asp.net web应用程序
删除这些东西,在vici里这些都没用
3、建立一个类
每一个vici项目都需要建立一个包括一个静态方法init()和静态类,用来对项目的初始化
4、修改web.config文件
我们必须修改web.config文件来配置vici,你需要为iis6或者iis7添加 HTTP modules 和 handlers属性
首先,你应该告诉vici mvc去哪找配置类(就是我们刚才建的App.cs),你需要设置Mvc.ApplicationClass的值就行了,如下面
<?xml version="1.0"?> <configuration> <configSections> </configSections> <appSettings> <add key="Mvc.ApplicationClass" value="WebApplication1.App, WebApplication1" /> <add key="Mvc.TemplatePath" value="templates" /> </appSettings> <system.web> <httpHandlers> </httpHandlers> <httpModules> <add name="MvcModule" type="Vici.Mvc.HttpModule, Vici.Mvc" /> </httpModules> <compilation debug="true"/> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false" /> <directoryBrowse enabled="true" /> <modules runAllManagedModulesForAllRequests="true"> <add name="MvcModule" type="Vici.Mvc.HttpModule, Vici.Mvc" /> </modules> <handlers> <add name="MvcHandler" preCondition="integratedMode" verb="*" path="ProMesh.axd" type="Vici.Mvc.MVCHandler, Vici.Mvc" /> </handlers> </system.webServer> </configuration>
5、建立一个文件夹来存放模版文件
6、建立一个母板
所以的模版文件都需要继承一个母板,这个母板默认为“master.htm”,这里请记住,所以的模版包括母板他们的后缀都是“.htm”,不能是“.html”和“.aspx”.按上述方法添加即可。
修改master.hml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>my first vici mvc</title> </head> <body> {{@View}} </body> </html>
母板里必须有{{@view}},他将来会被模版替换
7、建立控制器和模版
控制器控制显示那个模版,而模版又会替换母板里的view,所以程序里必须有至少一个控制器和模版,控制器和对应模版名字相对应
下面是一个控制器:
class Index : Controller { public void Run() { ViewData["Text"] = "Hello World"; } }
templates/Index.htm
<html xmlns="http://www.w3.org/1999/xhtml" > <body> {{Text}} </body> </html>
启动程序,即可。
未完待续;