文章出處

上面的虛線表示:被動角色。實線表示:主動角色。

 

1.控制器和視圖:控制器和視圖是雙向的關系,但控制器的關系更主動。

當控制器是主動的角色的時候,控制器決定要顯示哪一個View;當視圖為主動角色時,視圖可以決定,要將數據返回給控制器中的哪一個Action方法,并且,當數圖需要數據的時候,可以決定數據應該從哪一個控制器的方法獲得。

2.視圖和模型:視圖是主動角色,而模型則是以數據提供者的方式存在。所以視圖到模型是實線,模型到視圖是虛線。

視圖上的數據,基本上是從控制器中的方法中傳過來的。然而,傳過來的數據類別,基本上是模型中定義的,所以,可以這樣說:視圖和模型之間,是彼此參考的關系,也就是說,視圖會參考模型中的數據字典定義。

如果,視圖發現,從控制器傳過來的數據,不足以完整顯示,這個時候,視圖就會變成主動,即主動對模型,進行數據查詢獲得數據。也就是在上圖中,看到的,視圖到模型是實線。。

3.控制器和模型:控制器永遠是主動的關系,控制器負責調用模型中所定義的各種數據字典,而模型只是單純的提供數據服務,或者驗證服務給控制器使用。

 

好了,綜上所述:也就是,用戶發過來的請求,首先會通過路由,路由機制,判斷這個請求是,請求哪個控制器中的哪個方法,然后控制器,調用模型中的數據字典定義,獲取數據之后,決定要顯示哪一個視圖。大概就是這么回事。

 

好了,現在看看,如果新建第一個MVC程序吧。

這里,我用的是VS2013,打開VS2013,選擇文件--》新建--》項目

 

然后選擇空白的模板

 

先好項目之后,初始化的模板是:

 

接著,我們自己新建一個控制器Home,修改一下默認生成的代碼

代碼如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace FirstMVC.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        public string Index()
        {
            return "歡迎您,這里是ASP.NET MVC";
        }
    }
}

 

接著,我們運行一下代碼,就得到如圖的結果,這就是我們第一個簡單的不能再簡單的小程序:

總結;主要理解MVC的概念。

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()