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裡這些都沒用
2. 添加Vici.Mvc.dll 和 Vici.Parser.dll
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>
啟動程式,即可。
未完待續;