天天看點

跟小靜學MVC3[01]--建立第一個MVC3項目

【前言】從今天開始,小靜要學習Pro ASP.NET MVC3 Framework這本經典大作了,我是下載下傳的電子版學習的。在這裡隻是用作學習的記錄,便于以後查閱,也為了督促自己堅持下去。不用于任何商業用途。

要想掌握一種開發架構,光靠眼睛看是不夠的,一定要動手使用,才能快速熟悉起來。現在就從建立MVC3項目開始,一步步了解MVC項目的基本結構和開發流程。

在安裝好MVC3環境之後,首先我們建立一個MVC3項目(ASP.NET MVC3 Web Application):

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039046728.png"></a>

這裡有三種項目模闆:空模闆,Internet應用程式和Intranet應用程式。我們選擇第二種。

View引擎:在之前版本中使用的是ASPX引擎,MVC3引入了新的Razor引擎,它使用起來很友善又容易上手,是以一般建議使用Razor引擎。

Create a unit test project:選中之後會自動建立測試項目。

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039056563.png"></a>

點選OK,可以看到項目建立成功,并自動生成了一些檔案,項目解決方案如下所示:

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039075318.png"></a>

運作項目,預覽效果:

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/20121009103908203.png"></a>

在webform開發方式裡,url是和aspx檔案所在的目錄相對應的,但在MVC結構中,請求是通過controller進行處理的。在ASP.NET MVC中,controller一般是繼承自System.Web.Mvc.Controller的類,通常放在controllers檔案夾下。controller中每個public方法稱作一個action方法,可以通過特定url來調用action方法。

右鍵Controllers=&gt;添加=&gt;controller,名字要以Controller結尾。預設提供了三種controller模闆,我們選擇空模闆。

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039097529.png"></a>

public class IndexController : Controller     {         public ActionResult Index()         {               return View();//傳回與action同名的view結果         }     }

建立controller後,會預設添加一個名為Index的action,其傳回類型為ActionResult。傳回結果使用return View(),無參數表示傳回與action同名的view,也可以傳遞字元串參數指定view名稱。

View查找路徑:在添加view之前,我們先運作一下:

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039111542.png"></a>

這個錯誤不但提示了MVC找不到view,還展示了查找view的順序。其中第一個index是url中的controller名字(去掉字尾);第二個index是action名稱,我們沒有指定action名稱的時候預設是Index,當然這個也是可以在Global檔案中自定義的。

添加view:在Index這個action代碼塊内右鍵=&gt;添加view,如下圖點選OK。

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039127755.png"></a>

我們可以看到自動添加了檔案~/Views/Index/Index.cshtml,其路徑格式為~/Views/Controller名稱(去掉字尾)/action名稱.cshtml, .cshtml字尾表示使用Razor引擎的c# view檔案。如果使用的ASPX引擎,那麼view檔案字尾還是.aspx。

從controller向view傳遞資料可以使用ViewBag對象,它是Controller從父類繼承來的屬性,從對象浏覽器檢視如下:

public dynamic ViewBag { get; }     Member of System.Web.Mvc . ControllerBase Summary: Gets the dynamic view data dictionary. Returns: The dynamic view data dictionary.

使用執行個體:

首先在controller為ViewBag指派:

public ActionResult Index()             int hour = DateTime.Now.Hour;              return View();

然後在view中讀取ViewBag傳遞過來的資料:

@{     ViewBag.Title = "首頁"; } <a href="mailto:%26lt;h2%26gt;@ViewBag.hello%26lt;/h2%26gt;">&lt;h2&gt;@ViewBag.hello&lt;/h2&gt;</a>

運作效果如下:

<a href="http://images.cnblogs.com/cnblogs_com/janes/201210/201210091039135705.png"></a>

至此,我們建立了第一個MVC3項目,對于MVC3項目的基本結構也有了初步了解。

    本文轉自 陳敬(Cathy) 部落格園部落格,原文連結:http://www.cnblogs.com/janes/archive/2012/10/09/2716315.html,如需轉載請自行聯系原作者

繼續閱讀