九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MVC的概念及ASP.NET MVC 3.0開發(fā)環(huán)境
我要學ASP.NET MVC 3.0(二): MVC的概念及MVC 3.0開發(fā)環(huán)境
摘要
MVC即: Model(模型), View(視圖), Controller(控制器)
Model:模型對象是實現(xiàn)應用程序數(shù)據(jù)域邏輯的應用程序部件。 通常,模型對象會檢索模型狀態(tài)并將其存儲在數(shù)據(jù)庫中。 例如,Product 對象可能會從數(shù)據(jù)庫中檢索信息,操作該信息,然后將更新的信息寫回到 SQL Server 數(shù)據(jù)庫內的 Products 表中。
在小型應用程序中,模型通常是概念上的分離,而不是實際分離。 例如,如果應用程序僅讀取數(shù)據(jù)集并將其發(fā)送到視圖,則該應用程序沒有物理模型層和關聯(lián)的類。 在這種情況下,數(shù)據(jù)集擔當模型對象的作用。
Controller:控制器是處理用戶交互、使用模型并最終選擇要呈現(xiàn)的視圖來顯示 UI 的組件。 在 MVC 應用程序中,視圖僅顯示信息;控制器則用于處理和響應用戶輸入和交互。例如,控制器處理查詢字符串值,并將這些值傳遞給模型,而模型可能會使用這些值來查詢數(shù)據(jù)庫。 就是程序通過Controller從瀏覽器中接受命令,決定用它做什么,并返反饋給用戶。即獲取數(shù)據(jù),然后將數(shù)據(jù)綁定到頁面控件的這個業(yè)務邏輯。
View:視圖是顯示應用程序用戶界面 (UI) 的組件。 通常,此 UI 是用模型數(shù)據(jù)創(chuàng)建的。 Products 表的編輯視圖便是一個視圖示例,該視圖基于 Product 對象的當前狀態(tài)顯示文本框、下拉列表和復選框。 就是我們的aspx頁面,注意這是一個不包含后臺代碼文件的aspx頁面。在MVC3.0 View可以支持多視圖引擎。即aspx和cshtml
MVC(Model-View-Controller)在軟件工程中的一種設計模式.(他不僅僅是Asp.net Mvc,這只是他的一種實現(xiàn))他的主要設計目標是把用戶接口和邏輯層進行分離(低耦合),這樣開發(fā)人員可以更好的關注邏輯層的設計和測試,使得整個程序有個清晰的架構。
如圖展示了MVC的關系
MVC 模式可以幫助您創(chuàng)建使應用程序的不同方面(輸入邏輯、業(yè)務邏輯和 UI 邏輯)分離的應用程序,同時可在這些元素之間提供松散耦合。 該模式指定每種邏輯在應用程序中應處的位置。 UI 邏輯位于視圖中。 輸入邏輯位于控制器中。 業(yè)務邏輯位于模型中。 在您生成應用程序時,通過使用這種分離方式,可以幫助您化繁為簡,因為它可以使您側重于一次實現(xiàn)應用程序的一個方面。 例如,您可以側重于獨立于業(yè)務邏輯的視圖。
MVC 應用程序的這三個主要組件之間的松散耦合也可促進并行開發(fā)。 例如,一個開發(fā)人員可以從事視圖方面的工作,第二個開發(fā)人員可以從事控制器邏輯方面的工作,第三個開發(fā)人員可以側重于模型中的業(yè)務邏輯。
Asp.net MVC與Asp.net WebForms比較和選擇
聯(lián)系:
WinForm -> Asp -> Asp.net Web Form -> Asp.net mvc
Asp.net Web Form繼承了WinForm的思想,是事件驅動的編程模型。實現(xiàn)事件驅動,組件模型和頁面回發(fā)給自己的應用是離不開的。
Asp.net mvc是Url驅動的編程模型。是界面構建模式mvc在Asp.net的實現(xiàn)。
Asp.net Mvc不是用來代替Asp.net WebForms,而是對web開發(fā)提供一種新的開發(fā)模式。你可以選擇適合自己或團隊開發(fā)的模式來進行開發(fā)。
微軟開發(fā)ASP.NET MVC框架的是基于以下一些目標的:
1)各層分工明確,可測試性(支持TDD)
2)一個高擴展的插件式的架構
3)更友好的URLS,易于優(yōu)化SEO,同時對REST的支持。
4)可以繼續(xù)使用原有的Asp.net的一些特征。
5)對HTML代碼的完全可控性。
ASP.NET MVC優(yōu)點:
1)界面代碼和業(yè)務邏輯代碼完全的分離。Asp.net Web Form中,界面代碼和業(yè)務邏輯代碼是不完全的分離,只是通過代碼隱藏文件把兩者給分開了,UI與業(yè)務邏輯的捆綁依然在代碼隱藏文件中清晰可見。
2)代碼的分離實現(xiàn)了低耦合。清晰的代碼,易于維護。
3)簡單。相對Asp.net web Form,沒有了復雜的服務器控件(如GridView),沒有了事件驅動;取而代之的是html標簽(微軟鼓勵這樣做)、Url驅動。
4)對HTML的可控性增強。
5)更加友好的URL便于SEO
6)生成的HTML頁面更加簡單和清晰,因為沒有了ViewState.
7)默認就對JS框架的支持
ASP.NET WebForms優(yōu)點:
1)為HTTP提供了一種事件模型,對任何開發(fā)人員都可以很容易上手。
2)提供了大量的標準控件和第三方控件使得開發(fā)更加簡單易行。
3)由于使用了ViewState機制使得狀態(tài)管理變得簡單。
那么我們開發(fā)時該怎么對二者進行選擇呢?
TDDControl HTMLData-DriverLike WinformsRAD
MVC是是否否否
WebForms否否是是是
ASP.NET MVC 框架具有以下功能:
應用程序任務(輸入邏輯、業(yè)務邏輯和 UI 邏輯)的分離、可測試性和測試驅動的開發(fā) (TDD)。 MVC 框架中的所有核心協(xié)定都基于接口并且可使用 mock 對象進行測試,mock 對象是模仿應用程序中實際對象的行為的模擬對象。 您可以對應用程序進行單元測試,而不必在 ASP.NET 進程中運行控制器,這使得單元測試既快速又靈活。 您可以使用任何與 .NET Framework 兼容的單元測試框架。
可擴展和可插入的框架。 設計 ASP.NET MVC 框架的組件的目的是為了可以輕松地替換或自定義它們。 您可以插入自己的視圖引擎、URL 路由策略、操作方法參數(shù)序列化以及其他組件。 ASP.NET MVC 框架還支持使用依賴項注入 (DI) 和控制反轉 (IOC) 容器模型。 DI 使您能夠將對象注入到類中,而不是依靠類來創(chuàng)建對象本身。 IOC 指定某個對象是否需要其他對象,第一個對象應該從配置文件之類的外部源中獲取第二個對象。 這樣,測試會更加輕松。
廣泛支持 ASP.NET 路由,ASP.NET 路由是一個功能強大的 URL 映射組件,它允許您生成具有易于理解和可搜索的 URL 的應用程序。 URL 未必包含文件擴展名,并且旨在支持非常適合搜索引擎優(yōu)化 (SEO) 和具象狀態(tài)傳輸 (REST) 尋址的 URL 命名模式。
支持將現(xiàn)有 ASP.NET 頁面(.aspx 文件)、用戶控件(.ascx 文件)和母版頁(.master 文件)標記文件中的標記用作視圖模板。 您可以將諸如嵌套母版頁、內聯(lián)表達式(<%= %>)、聲明性服務器控件、模板、數(shù)據(jù)綁定、本地化等現(xiàn)有 ASP.NET 功能與 ASP.NET MVC 框架結合使用。
支持現(xiàn)有 ASP.NET 功能。 ASP.NET MVC 允許您使用一些功能,如 Forms 身份驗證和 Windows 身份驗證、URL 授權、成員資格和角色、輸出和數(shù)據(jù)緩存、會話和配置文件狀態(tài)管理、運行狀況監(jiān)視、配置系統(tǒng)以及提供程序體系結構。
前言
了解了MVC的概念之后。我們學習MVC 3.0需要搭建環(huán)境
可以登錄http://www.asp.net/mvc下載安裝
或者下載MVC 3.0的離線安裝包ASP.NET MVC 3 RTM
也可以安裝VS 2010SP1 進行離校安裝。
學習MVC 3.0項目模板
安裝好MVC 3.0 后就可以創(chuàng)建MVC3.0項目了
選擇項目模板和視圖引擎
VS 2010 MVC 3.0解決方案默認
基于Razor視圖引擎:
基于ASPX視圖引擎:
默認情況下,MVC 項目包括以下文件夾:
App_Data,這是數(shù)據(jù)的物理存儲區(qū)。此文件夾的作用與它在使用 Web 窗體頁面的 ASP.NET 網(wǎng)站中的作用相同。
Content,建議在此位置添加內容文件,如級聯(lián)樣式表文件、圖像等。通常,Content 文件夾用于存儲靜態(tài)文件。
Controllers,建議在此位置存儲控制器。MVC 框架要求所有控制器的名稱均以“Controller”結尾,如 HomeController、LoginController 或 ProductController。
Models,這是為表示 MVC Web 應用程序的應用程序模型的類提供的文件夾。此文件夾通常包括定義對象以及定義與數(shù)據(jù)存儲交互所用的邏輯的代碼。通常,實際模型對象將位于單獨的類庫中。但是,在創(chuàng)建新應用程序時,您可以將類放在此處,然后在開發(fā)周期中稍后的某個時刻將其移動到單獨的類庫中。
Scripts,建議在此位置存儲支持應用程序的腳本文件。默認情況下,此文件夾包含 ASP.NET AJAX 基礎文件和 jQuery 庫。
Views,建議在此位置存儲視圖。視圖使用 ViewPage (.aspx)、ViewUserControl (.ascx) 和 ViewMasterPage (.master) 文件,以及與呈現(xiàn)視圖相關的任何其他文件。在 Views 文件夾中,每個控制器都具有一個文件夾;該文件夾以控制器名稱前綴命名。例如,如果控制器名為 HomeController,則 Views 文件夾包含名為 Home 的文件夾。默認情況下,當 ASP.NET MVC 框架加載視圖時,它將在 Views\控制器名稱 文件夾中尋找具有請求的視圖名稱的 ViewPage (.aspx) 文件。默認情況下,Views 文件夾中也有一個名為 Shared 的文件夾,但該文件夾不與任何控制器相對應。Shared 文件夾用于存儲在多個控制器之間共享的視圖。例如,您可以將 Web 應用程序的母版頁放在 Shared 文件夾中。
除了使用前面列出的文件夾之外,MVC Web 應用程序還使用 Global.asax 文件中的代碼來設置全局 URL 路由默認值,并且使用 Web.config 文件來
配置應用程序。
運行項目效果
可以看出該模板已經(jīng)集成了簡單權限、模板及導航為一體的一個簡單的ASP.NET應用程序
創(chuàng)建MVC 3.0空項目
可以看到MVC3.0的空項目里面除了基本的布局頁面錯誤頁面及開始頁面其他都為空。
這就需要我們在實際操作的時候根據(jù)需要來添加。
如果直接運行項目就會報錯。。。。
細心的你此時會發(fā)現(xiàn),在Global.asax里面依然是默認的起始頁
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // 路由名稱
"{controller}/{action}/{id}", // 帶有參數(shù)的 URL
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 參數(shù)默認值
);
}復制代碼
我們可以看到Controller文件夾是空的,沒有什么關于Home的字眼????難怪報錯。。。
其實這是MVC的路由規(guī)則找不到HomeController的Index方法而已。。
關于路由請移步我要學ASP.NET MVC 3.0(三): 初識Url映射潛規(guī)則Routing
此時你可以新建一個Controller命名為HomeController
添加完控制器后默認給出了起Index的方法。。。
public ActionResult Index()
{
return View();
}復制代碼
我沒可以看到上面的代碼返回的是一個ActionResult類型的View,但是我們還沒有建立與其對應的視圖。。
所以我們讓他輸出一個字符串到頁面。。。
將代碼
public ActionResult Index()
{
return View();
}復制代碼
修改為
public string Index()
{
return "Hello World";
}復制代碼
運行之后 一個簡單的界面就出現(xiàn)了 。。。
總結
說了這么多,回頭一看全都是廢話,沒有一句實用的。不過沒關系,板磚會很猛的哦。。
有了廢話才有了磚
有了磚才會有進步?。。?div style="height:15px;">
下節(jié)預告
下節(jié)我們開始從路由Routing入手一步一步建立自己的MVC 3.0應用程序。
請看我要學ASP.NET MVC 3.0(三): 初識Url映射潛規(guī)則Routing
作者:記憶逝去的青春
出處:http://www.cnblogs.com/lukun/
本文版權歸作者和博客園共有,歡迎轉載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過http://www.cnblogs.com/lukun/  聯(lián)系我,非常感謝。
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET MVC3快速入門——第三節(jié)、添加一個視圖
MVC設計模式簡介及ASP.NET MVC 3.0安裝
Asp.Net MVC(理解模型、視圖和控制器)
MVC學習
[ASP.NET MVC 小牛之路]01 - 理解MVC模式
MVC架構開發(fā)綜述
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服