ASP.NET MVC3實戰系列(一):簡單樣本

來源:互聯網
上載者:User

ASP.NET MVC已經推出時間不短了,已經有很多項目在使用這個優秀的WEB開發架構。因為我們項目每次加人的時候,對MVC都不是特別熟悉,有一些人認為這個非常簡單,導致寫出來的程式完全不是MVC的,所以我就想寫個系列總結一下實戰中的經驗和一些學習的筆記。我們先不談論MVC的好處,等我們寫過一些程式和樣本後,再回來談。

首先,我們先用MVC寫一個簡單的ASP.NET MVC3的程式來簡單的瞭解一下。

 

環境:

VS2010

ASP.NET MVC3

在http://www.microsoft.com/web/downloads/platform.aspx 下載Microsoft Web Platform Installer 3.0,在Microsoft Web Platform Installer 3.0上可以線上下載到需要的軟體。

 

樣本程式

1. 顯示一個簡單的字串“Hello World”

建立ASP.NET MVC3 Web Application

選擇Razor視圖引擎

按F5啟動應用程式

我們看到出錯了,這是因為在MVC裡,請求被Controller處理,現在還沒有任何Controller,下面我們添加一個Controller, 右鍵Controller添加一個HomeController

修改HomeController裡的Index方法為如下

F5運行後如下所示

為什麼可以運行成功,這要歸功於ASP.NET MVC的路由機制,我們看一下Global.asax.cs裡的如下代碼

從這行代碼裡可以看到系統預設請求被路由到HomeController和Index這個Action(MVC裡把Controller裡公有方法稱之為Action,兩者之間是有區別的)。

2. 顯示一個視圖:

如果都像剛才那樣直接寫字串到用戶端,那開發人員肯定瘋了,現在我們顯示一個視圖。先把HomeController裡的Action改為如下代碼,按F5

namespace HelloWorld.Controllers{    public class HomeController : Controller    {        //        // GET: /Home/        public ActionResult Index()        {            return View();        }    }}

 

根據提示,我們在錯誤提示的任何一個位置添加對應的檔案就可以了,這裡我們在Views/Home檔案夾下添加Index.aspx, 在HomeController裡右鍵點擊Index方法名,選擇Add View

點擊確定,修改index.aspx為如下內容

F5運行,我們看到顯示和之前相同的結果

 

3. 添加動態內容

添加如下代碼

修改Index.aspx視圖為如下

F5運行

ViewBag是Controller定義的一個動態類型的屬性,意味著你可以給他添加任何屬性,在編譯時間動態類型的屬性是不檢查的。

 

4. 強型別視圖

動態類型編譯時間不能檢查,開發時沒有只能提示是意見很不爽的時,下面我們來定義一個強型別的視圖。先定義一個Person類

刪除Index.aspx, Ctrl+Shift+B 編譯一下,右鍵Action—>Add View

修改Index.aspx

我們可以看到強型別的智能提示

F5運行

我們可以看到產生的HTML和頁面

在Controller裡添加如下方法

提交表單顯示如下,

之所以能夠顯示出名字,是因為ASP.NET MVC通過Binder機制把表單Post的資料賦給參數對象對應的屬性,我們可以通過Firebug看一下表單Post的資料

 

5. 添加驗證

修改Person 這個Modal為如下,記得引用紅色標註的命名空間

視圖裡添加如下紅色標註的內容

修改Action裡的代碼如下

F5運行,不輸入任何代碼提交表單

 

至此,我們完成了一個簡單的MVC3的程式,裡面示範的MVC3的一些基本特性。

 

最後,打個小廣告:西安分公司急聘如下人員,有意者直接聯絡我,左邊側欄有我的連絡方式,部落格園招聘頻道有詳細描述 http://job.cnblogs.com/offer/13800/

基本要求:

4年以上C#開發經驗, .Net基礎紮實,熟練使用.Net3.5新特性。

精通ASP.NET Web開發。

熟練使用WCF.

熟練使用ORM,LINQ TO SQL /Entity Framework或者NHibernate.

熟練使用JavaScript, JQuery.

熟悉Web標準,熟悉HTML&CSS.

熟悉SQL Server, 熟練掌握T-SQL,預存程序。

英語讀寫熟練,可以看懂英文需求,可以和客戶流暢的用英語文字溝通(MSN/Skype)

良好的編碼習慣。



熟悉下面任意一項優先:

熟悉敏捷開發人員優先

英語聽說熟練者優先

熟悉ASP.NET MVC者優先。

熟悉WPF者優先

熟悉Silverlight優先

有系統架構經驗者優先,有單元測試或者TDD經驗者優先。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.