殷存舉
【摘 要】在ASP.NET3.5 MVC框架下開發(fā)Web應(yīng)用程序,與傳統(tǒng)的Web Form技術(shù)有很大的差異。首先它需要分別開發(fā)對應(yīng)的模型、控制器和視圖,其次還需要理解URL路由的概念及其使用方法。本文通過使用ASP.NET 3.5MVC框架開發(fā)一個聯(lián)系人管理網(wǎng)站,來說明如何構(gòu)建模型、如何實現(xiàn)控制器及如何自動創(chuàng)建對應(yīng)的視圖。
【關(guān)鍵詞】MVC框架;模型;控制器;試圖
1 設(shè)計思想概述
1.1 什么是MVC
ASP.NET3.5 MVC框架基于MVC設(shè)計模式,MVC(Model View Controller)設(shè)計模式將一般應(yīng)用程序根據(jù)功能的不同,劃分為模型、視圖和控制器三部分。
1)模型:是指在MVC設(shè)計模式中需要被顯示的數(shù)據(jù),一般情況下從數(shù)據(jù)庫中讀取數(shù)據(jù)到模型、并保存模型的狀態(tài),提供數(shù)據(jù)訪問方法及數(shù)據(jù)的維護。
2)視圖:是指用來顯示模型的用戶界面,本例的主頁就是顯示聯(lián)系人信息列表的視圖。
3)控制器:是指用來處理對用戶的輸入或者交互命令,以便改變模型的狀態(tài),控制模型在視圖上顯示對應(yīng)的數(shù)據(jù)。
1.2 MVC之間的關(guān)系
從圖中可以看出,當用戶在瀏覽器中輸入瀏覽器地址到獲得頁面的反饋信息,通常要經(jīng)過以下5個步驟。
1)當用戶在瀏覽器中輸入瀏覽地址、發(fā)送頁面請求時,實際上是向控制器發(fā)送相關(guān)的命令;
2)控制器接到用戶的請求命令后,向模型請求獲得相關(guān)的數(shù)據(jù);
3)模型將對應(yīng)的數(shù)據(jù)返回給控制器;
4)控制器再將模型返回的數(shù)據(jù)發(fā)送到指定的視圖;
5)指定的視圖呈現(xiàn)數(shù)據(jù)。
從上述5個步驟中可以知道,控制器在其中扮演著十分重要的角色,它不僅處理用戶的請求,還實現(xiàn)與模型之間的交互,對指定的視圖發(fā)送相關(guān)的命令,在實際的ASP.NET 3.5 MVC應(yīng)用開發(fā)中,開發(fā)者主要的工作就是實現(xiàn)控制器的編碼。
1.3 ASP.NET 3.5 MVC框架約定的目錄結(jié)構(gòu)
通過項目模板ASP.NET MVC WebApplication創(chuàng)建聯(lián)系人管理網(wǎng)站LinkmanManager時,將模型、視圖和控制器組件及其他內(nèi)容分別放在不同的文件夾下,以便于開發(fā)者維護和管理,LinkmanManager網(wǎng)站的目錄結(jié)構(gòu)如圖2所示。
從圖中可以看出,Content文件夾存放靜態(tài)文件,例如圖片、樣式文件等。Script文件夾則存放JavaScript文件,Models文件夾存放的是LINQ to Entities自動生成的代碼文件;Views文件夾存放的是聯(lián)系人管理的相關(guān)視圖及公共視圖;Controllers文件夾存放的是控制器組件。
2 設(shè)計過程詳解
在開發(fā)基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站時,首先構(gòu)建模型,其次實現(xiàn)控制器,最后根據(jù)控制器中定義的方法生成視圖。
2.1 使用LINQ to Entities構(gòu)建模型
在“解決方案資源管理器”窗口中,選擇項目內(nèi)的Models文件夾,并單擊右鍵,在彈出的快捷菜單中選擇“添加”->“新建項”,打開“添加新項”對話框,在“添加新項”對話框中選擇ADO.NET Entity Data Model模板,在名稱編輯框中輸入Linkman.edmx。然后點擊“添加”按鈕,選擇“從數(shù)據(jù)庫”生成。然后選擇tb_Linkman和tb_Categeory兩個數(shù)據(jù)庫對象,根據(jù)實體數(shù)據(jù)模型向?qū)б徊讲缴蓪嶓w數(shù)據(jù)模型。至此,基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站的模型Models已構(gòu)建完畢。
2.2 控制器
在ASP.NET 3..5 MVC框架中,控制器起著非常重要的作用,控制器處理用戶的請求,將用戶請求的URL路由,分發(fā)到控制器中對應(yīng)的方法,而不是文件系統(tǒng)中某個對應(yīng)的真實文件,這是ASP.NET 3..5 MVC應(yīng)用程序與傳統(tǒng)WebForm應(yīng)用程序的區(qū)別之一。
在“解決方案資源管理器”窗口,選擇項目中的Contorllers文件夾,單擊右鍵,在彈出的快捷菜單中選擇“添加”->“Controller”菜單項,打開“Add Controller”對話框,在對話框中輸入“LinkmanCointroller”后單擊“Add”按鈕創(chuàng)建一個只包含Index()方法的聯(lián)系人控制器類。
由于控制器接到用戶的請求命令后,需要向模型請求獲得相關(guān)的數(shù)據(jù),所以首先得創(chuàng)建模型中數(shù)據(jù)訪問類的實例。
實現(xiàn)獲取聯(lián)系人信息列表的方法。
實現(xiàn)根據(jù)唯一號取得對應(yīng)聯(lián)系人明細信息的方法。
實現(xiàn)添加聯(lián)系人信息的方法。
實現(xiàn)修改聯(lián)系人信息的代碼。
2.3 創(chuàng)建視圖
創(chuàng)建了控制器LinkmanController類后,就可以根據(jù)控制器類中的方法自動生成相關(guān)的視圖頁面。實現(xiàn)方法如下:
在控制器LinkmanController中,實現(xiàn)Index()方法的視圖時在 “Add View”對話框的View content下拉框中選擇“List”項;實現(xiàn)Create()方法的視圖時選擇“Create”項,實現(xiàn)Details()方法的視圖時選擇“Details”項,實現(xiàn)Edit()方法的視圖時選擇“View content”下來框中的Edit項。
3 技術(shù)難點解析
4 結(jié)語
ASP.NET 3..5 MVC框架中個,URL被映射到一個控制器類中,該控制器處理用戶的輸入、選擇適當?shù)哪P停@得相關(guān)的數(shù)據(jù),最后調(diào)用視圖組件顯示指定的數(shù)據(jù),并返回用戶界面。傳統(tǒng)的ASP.NET應(yīng)用程序中,URL通常被映射為保存在磁盤上的一個文件(例如.aspx),而,因此,MVC框架要比傳統(tǒng)的應(yīng)用程序更易于單元測試,可擴展性更強。
【參考文獻】
[1]尹安.基于MVC和XML的異構(gòu)數(shù)據(jù)庫集成系統(tǒng)設(shè)計與實現(xiàn)[D].華中科技大學(xué),2006.
[2]徐楓.ASP.NET三層架構(gòu)體系分析與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2011(08).
[3]戰(zhàn)非.NET平臺下基于LINQ三層架構(gòu)的實現(xiàn)[J].電腦知識與技術(shù),2010(11).
[責任編輯:薛俊歌]
【摘 要】在ASP.NET3.5 MVC框架下開發(fā)Web應(yīng)用程序,與傳統(tǒng)的Web Form技術(shù)有很大的差異。首先它需要分別開發(fā)對應(yīng)的模型、控制器和視圖,其次還需要理解URL路由的概念及其使用方法。本文通過使用ASP.NET 3.5MVC框架開發(fā)一個聯(lián)系人管理網(wǎng)站,來說明如何構(gòu)建模型、如何實現(xiàn)控制器及如何自動創(chuàng)建對應(yīng)的視圖。
【關(guān)鍵詞】MVC框架;模型;控制器;試圖
1 設(shè)計思想概述
1.1 什么是MVC
ASP.NET3.5 MVC框架基于MVC設(shè)計模式,MVC(Model View Controller)設(shè)計模式將一般應(yīng)用程序根據(jù)功能的不同,劃分為模型、視圖和控制器三部分。
1)模型:是指在MVC設(shè)計模式中需要被顯示的數(shù)據(jù),一般情況下從數(shù)據(jù)庫中讀取數(shù)據(jù)到模型、并保存模型的狀態(tài),提供數(shù)據(jù)訪問方法及數(shù)據(jù)的維護。
2)視圖:是指用來顯示模型的用戶界面,本例的主頁就是顯示聯(lián)系人信息列表的視圖。
3)控制器:是指用來處理對用戶的輸入或者交互命令,以便改變模型的狀態(tài),控制模型在視圖上顯示對應(yīng)的數(shù)據(jù)。
1.2 MVC之間的關(guān)系
從圖中可以看出,當用戶在瀏覽器中輸入瀏覽器地址到獲得頁面的反饋信息,通常要經(jīng)過以下5個步驟。
1)當用戶在瀏覽器中輸入瀏覽地址、發(fā)送頁面請求時,實際上是向控制器發(fā)送相關(guān)的命令;
2)控制器接到用戶的請求命令后,向模型請求獲得相關(guān)的數(shù)據(jù);
3)模型將對應(yīng)的數(shù)據(jù)返回給控制器;
4)控制器再將模型返回的數(shù)據(jù)發(fā)送到指定的視圖;
5)指定的視圖呈現(xiàn)數(shù)據(jù)。
從上述5個步驟中可以知道,控制器在其中扮演著十分重要的角色,它不僅處理用戶的請求,還實現(xiàn)與模型之間的交互,對指定的視圖發(fā)送相關(guān)的命令,在實際的ASP.NET 3.5 MVC應(yīng)用開發(fā)中,開發(fā)者主要的工作就是實現(xiàn)控制器的編碼。
1.3 ASP.NET 3.5 MVC框架約定的目錄結(jié)構(gòu)
通過項目模板ASP.NET MVC WebApplication創(chuàng)建聯(lián)系人管理網(wǎng)站LinkmanManager時,將模型、視圖和控制器組件及其他內(nèi)容分別放在不同的文件夾下,以便于開發(fā)者維護和管理,LinkmanManager網(wǎng)站的目錄結(jié)構(gòu)如圖2所示。
從圖中可以看出,Content文件夾存放靜態(tài)文件,例如圖片、樣式文件等。Script文件夾則存放JavaScript文件,Models文件夾存放的是LINQ to Entities自動生成的代碼文件;Views文件夾存放的是聯(lián)系人管理的相關(guān)視圖及公共視圖;Controllers文件夾存放的是控制器組件。
2 設(shè)計過程詳解
在開發(fā)基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站時,首先構(gòu)建模型,其次實現(xiàn)控制器,最后根據(jù)控制器中定義的方法生成視圖。
2.1 使用LINQ to Entities構(gòu)建模型
在“解決方案資源管理器”窗口中,選擇項目內(nèi)的Models文件夾,并單擊右鍵,在彈出的快捷菜單中選擇“添加”->“新建項”,打開“添加新項”對話框,在“添加新項”對話框中選擇ADO.NET Entity Data Model模板,在名稱編輯框中輸入Linkman.edmx。然后點擊“添加”按鈕,選擇“從數(shù)據(jù)庫”生成。然后選擇tb_Linkman和tb_Categeory兩個數(shù)據(jù)庫對象,根據(jù)實體數(shù)據(jù)模型向?qū)б徊讲缴蓪嶓w數(shù)據(jù)模型。至此,基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站的模型Models已構(gòu)建完畢。
2.2 控制器
在ASP.NET 3..5 MVC框架中,控制器起著非常重要的作用,控制器處理用戶的請求,將用戶請求的URL路由,分發(fā)到控制器中對應(yīng)的方法,而不是文件系統(tǒng)中某個對應(yīng)的真實文件,這是ASP.NET 3..5 MVC應(yīng)用程序與傳統(tǒng)WebForm應(yīng)用程序的區(qū)別之一。
在“解決方案資源管理器”窗口,選擇項目中的Contorllers文件夾,單擊右鍵,在彈出的快捷菜單中選擇“添加”->“Controller”菜單項,打開“Add Controller”對話框,在對話框中輸入“LinkmanCointroller”后單擊“Add”按鈕創(chuàng)建一個只包含Index()方法的聯(lián)系人控制器類。
由于控制器接到用戶的請求命令后,需要向模型請求獲得相關(guān)的數(shù)據(jù),所以首先得創(chuàng)建模型中數(shù)據(jù)訪問類的實例。
實現(xiàn)獲取聯(lián)系人信息列表的方法。
實現(xiàn)根據(jù)唯一號取得對應(yīng)聯(lián)系人明細信息的方法。
實現(xiàn)添加聯(lián)系人信息的方法。
實現(xiàn)修改聯(lián)系人信息的代碼。
2.3 創(chuàng)建視圖
創(chuàng)建了控制器LinkmanController類后,就可以根據(jù)控制器類中的方法自動生成相關(guān)的視圖頁面。實現(xiàn)方法如下:
在控制器LinkmanController中,實現(xiàn)Index()方法的視圖時在 “Add View”對話框的View content下拉框中選擇“List”項;實現(xiàn)Create()方法的視圖時選擇“Create”項,實現(xiàn)Details()方法的視圖時選擇“Details”項,實現(xiàn)Edit()方法的視圖時選擇“View content”下來框中的Edit項。
3 技術(shù)難點解析
4 結(jié)語
ASP.NET 3..5 MVC框架中個,URL被映射到一個控制器類中,該控制器處理用戶的輸入、選擇適當?shù)哪P?,獲得相關(guān)的數(shù)據(jù),最后調(diào)用視圖組件顯示指定的數(shù)據(jù),并返回用戶界面。傳統(tǒng)的ASP.NET應(yīng)用程序中,URL通常被映射為保存在磁盤上的一個文件(例如.aspx),而,因此,MVC框架要比傳統(tǒng)的應(yīng)用程序更易于單元測試,可擴展性更強。
【參考文獻】
[1]尹安.基于MVC和XML的異構(gòu)數(shù)據(jù)庫集成系統(tǒng)設(shè)計與實現(xiàn)[D].華中科技大學(xué),2006.
[2]徐楓.ASP.NET三層架構(gòu)體系分析與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2011(08).
[3]戰(zhàn)非.NET平臺下基于LINQ三層架構(gòu)的實現(xiàn)[J].電腦知識與技術(shù),2010(11).
[責任編輯:薛俊歌]
【摘 要】在ASP.NET3.5 MVC框架下開發(fā)Web應(yīng)用程序,與傳統(tǒng)的Web Form技術(shù)有很大的差異。首先它需要分別開發(fā)對應(yīng)的模型、控制器和視圖,其次還需要理解URL路由的概念及其使用方法。本文通過使用ASP.NET 3.5MVC框架開發(fā)一個聯(lián)系人管理網(wǎng)站,來說明如何構(gòu)建模型、如何實現(xiàn)控制器及如何自動創(chuàng)建對應(yīng)的視圖。
【關(guān)鍵詞】MVC框架;模型;控制器;試圖
1 設(shè)計思想概述
1.1 什么是MVC
ASP.NET3.5 MVC框架基于MVC設(shè)計模式,MVC(Model View Controller)設(shè)計模式將一般應(yīng)用程序根據(jù)功能的不同,劃分為模型、視圖和控制器三部分。
1)模型:是指在MVC設(shè)計模式中需要被顯示的數(shù)據(jù),一般情況下從數(shù)據(jù)庫中讀取數(shù)據(jù)到模型、并保存模型的狀態(tài),提供數(shù)據(jù)訪問方法及數(shù)據(jù)的維護。
2)視圖:是指用來顯示模型的用戶界面,本例的主頁就是顯示聯(lián)系人信息列表的視圖。
3)控制器:是指用來處理對用戶的輸入或者交互命令,以便改變模型的狀態(tài),控制模型在視圖上顯示對應(yīng)的數(shù)據(jù)。
1.2 MVC之間的關(guān)系
從圖中可以看出,當用戶在瀏覽器中輸入瀏覽器地址到獲得頁面的反饋信息,通常要經(jīng)過以下5個步驟。
1)當用戶在瀏覽器中輸入瀏覽地址、發(fā)送頁面請求時,實際上是向控制器發(fā)送相關(guān)的命令;
2)控制器接到用戶的請求命令后,向模型請求獲得相關(guān)的數(shù)據(jù);
3)模型將對應(yīng)的數(shù)據(jù)返回給控制器;
4)控制器再將模型返回的數(shù)據(jù)發(fā)送到指定的視圖;
5)指定的視圖呈現(xiàn)數(shù)據(jù)。
從上述5個步驟中可以知道,控制器在其中扮演著十分重要的角色,它不僅處理用戶的請求,還實現(xiàn)與模型之間的交互,對指定的視圖發(fā)送相關(guān)的命令,在實際的ASP.NET 3.5 MVC應(yīng)用開發(fā)中,開發(fā)者主要的工作就是實現(xiàn)控制器的編碼。
1.3 ASP.NET 3.5 MVC框架約定的目錄結(jié)構(gòu)
通過項目模板ASP.NET MVC WebApplication創(chuàng)建聯(lián)系人管理網(wǎng)站LinkmanManager時,將模型、視圖和控制器組件及其他內(nèi)容分別放在不同的文件夾下,以便于開發(fā)者維護和管理,LinkmanManager網(wǎng)站的目錄結(jié)構(gòu)如圖2所示。
從圖中可以看出,Content文件夾存放靜態(tài)文件,例如圖片、樣式文件等。Script文件夾則存放JavaScript文件,Models文件夾存放的是LINQ to Entities自動生成的代碼文件;Views文件夾存放的是聯(lián)系人管理的相關(guān)視圖及公共視圖;Controllers文件夾存放的是控制器組件。
2 設(shè)計過程詳解
在開發(fā)基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站時,首先構(gòu)建模型,其次實現(xiàn)控制器,最后根據(jù)控制器中定義的方法生成視圖。
2.1 使用LINQ to Entities構(gòu)建模型
在“解決方案資源管理器”窗口中,選擇項目內(nèi)的Models文件夾,并單擊右鍵,在彈出的快捷菜單中選擇“添加”->“新建項”,打開“添加新項”對話框,在“添加新項”對話框中選擇ADO.NET Entity Data Model模板,在名稱編輯框中輸入Linkman.edmx。然后點擊“添加”按鈕,選擇“從數(shù)據(jù)庫”生成。然后選擇tb_Linkman和tb_Categeory兩個數(shù)據(jù)庫對象,根據(jù)實體數(shù)據(jù)模型向?qū)б徊讲缴蓪嶓w數(shù)據(jù)模型。至此,基于ASP.NET 3..5 MVC框架的聯(lián)系人管理網(wǎng)站的模型Models已構(gòu)建完畢。
2.2 控制器
在ASP.NET 3..5 MVC框架中,控制器起著非常重要的作用,控制器處理用戶的請求,將用戶請求的URL路由,分發(fā)到控制器中對應(yīng)的方法,而不是文件系統(tǒng)中某個對應(yīng)的真實文件,這是ASP.NET 3..5 MVC應(yīng)用程序與傳統(tǒng)WebForm應(yīng)用程序的區(qū)別之一。
在“解決方案資源管理器”窗口,選擇項目中的Contorllers文件夾,單擊右鍵,在彈出的快捷菜單中選擇“添加”->“Controller”菜單項,打開“Add Controller”對話框,在對話框中輸入“LinkmanCointroller”后單擊“Add”按鈕創(chuàng)建一個只包含Index()方法的聯(lián)系人控制器類。
由于控制器接到用戶的請求命令后,需要向模型請求獲得相關(guān)的數(shù)據(jù),所以首先得創(chuàng)建模型中數(shù)據(jù)訪問類的實例。
實現(xiàn)獲取聯(lián)系人信息列表的方法。
實現(xiàn)根據(jù)唯一號取得對應(yīng)聯(lián)系人明細信息的方法。
實現(xiàn)添加聯(lián)系人信息的方法。
實現(xiàn)修改聯(lián)系人信息的代碼。
2.3 創(chuàng)建視圖
創(chuàng)建了控制器LinkmanController類后,就可以根據(jù)控制器類中的方法自動生成相關(guān)的視圖頁面。實現(xiàn)方法如下:
在控制器LinkmanController中,實現(xiàn)Index()方法的視圖時在 “Add View”對話框的View content下拉框中選擇“List”項;實現(xiàn)Create()方法的視圖時選擇“Create”項,實現(xiàn)Details()方法的視圖時選擇“Details”項,實現(xiàn)Edit()方法的視圖時選擇“View content”下來框中的Edit項。
3 技術(shù)難點解析
4 結(jié)語
ASP.NET 3..5 MVC框架中個,URL被映射到一個控制器類中,該控制器處理用戶的輸入、選擇適當?shù)哪P?,獲得相關(guān)的數(shù)據(jù),最后調(diào)用視圖組件顯示指定的數(shù)據(jù),并返回用戶界面。傳統(tǒng)的ASP.NET應(yīng)用程序中,URL通常被映射為保存在磁盤上的一個文件(例如.aspx),而,因此,MVC框架要比傳統(tǒng)的應(yīng)用程序更易于單元測試,可擴展性更強。
【參考文獻】
[1]尹安.基于MVC和XML的異構(gòu)數(shù)據(jù)庫集成系統(tǒng)設(shè)計與實現(xiàn)[D].華中科技大學(xué),2006.
[2]徐楓.ASP.NET三層架構(gòu)體系分析與應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2011(08).
[3]戰(zhàn)非.NET平臺下基于LINQ三層架構(gòu)的實現(xiàn)[J].電腦知識與技術(shù),2010(11).
[責任編輯:薛俊歌]