ASP.NET MVC基礎(chǔ)
一、MVC與ASP.NET MVC基礎(chǔ)概念
MVC是Model-View-Controller的縮寫.
MVC將應(yīng)用程序劃分為3大組件:模型\視圖\控制器.
MVC不是ASP.NET所特有,它只是一種開發(fā)理念.java中的struts2也是一種MVC模型.
ASP.NET MVC從2008年發(fā)布1.0版以來,截至2014年ASP.NET MVC最新版本已經(jīng)是5.0.
ASP.NET MVC從1.0版開始,就已經(jīng)開放源代碼(源碼地址:aspnetwebstack.codeplex.com).
ASP.NET MVC官網(wǎng)地址:http://www.asp.net/mvc
二、MVC三大組件的相互關(guān)系
在控制器中可以直接調(diào)用視圖和模型
在視圖中可以調(diào)用模型.
模型不能調(diào)用視圖
模型能夠限定視圖中使用的數(shù)據(jù),但視圖中使用的模型應(yīng)由控制器提供
在視圖中可以調(diào)用控制器(通過視圖中表單的提交和點(diǎn)擊超鏈接的方式調(diào)用)
三、ASP.NET Webform模型和ASP.NET MVC模型的關(guān)系
二者都是基于ASP.NET Web框架構(gòu)建的開發(fā)模型.所以ASP.NET中的一些功能可以被二者公用.
Webform編程模型是典型的以事件驅(qū)動(dòng)的web模型,而MVC則不是.
Webform的URL地址是基于文件系統(tǒng)的,而MVC則是基于Action.
四、ASP.NET MVC中的約定
所有的控制器必須放到Controllers文件夾下
所有的控制器類名必須以Controller結(jié)尾
所有的模型應(yīng)該放到Models目錄下
所有的視圖文件都應(yīng)該放到Views目錄下.
所有的控制器類都應(yīng)該繼承自Controller類(本質(zhì)上是要繼承Icontroller接口)
在控制器類中的public方法被成為Action(行為)
如果在相應(yīng)的視圖目錄中沒有找到視圖文件,那么會(huì)尋找Views\Shared目錄下名稱相同的視圖文件
在Action中return view(),默認(rèn)會(huì)返回和Action名稱一樣的視圖文件.
在Global.asax全局應(yīng)用程序類中注冊(cè)了默認(rèn)路由(名稱為Default),默認(rèn)路由指定了Controller默認(rèn)為Home,Action默認(rèn)為Index,參數(shù)id為可選參數(shù).所以在URL地址中如果不輸入controller默認(rèn)訪問Home控制器;如果不輸入action默認(rèn)訪問名稱為Index的action.http://localhost:54321/ 解釋:根據(jù)默認(rèn)路由規(guī)則,等價(jià)于 => http://localhost:54321/Home/Index
http://localhost:54321/Home/Index/5 解釋:數(shù)值5會(huì)自動(dòng)映射到action中名稱為id的參數(shù)中。
Http://localhost:54321/Home/Index/5?name=jack&age=20 解釋:其中參數(shù)包括id、name和age三個(gè)
其他
在視圖文件中,有一個(gè)名稱為Model屬性,它指代的是從Action中傳遞的模型數(shù)據(jù).為了使用模型數(shù)據(jù),我們還需要在aspx視圖中<%@Page %>指令的Inherits屬性中設(shè)置模型數(shù)據(jù)的類型/Razor視圖中設(shè)置model 類型......
相關(guān)文章
.net core日志系統(tǒng)相關(guān)總結(jié)
多年的經(jīng)驗(yàn),日志記錄是軟件開發(fā)的重要組成部分。沒有日志記錄機(jī)制的系統(tǒng)不是完善的系統(tǒng)。在開發(fā)階段可以通過debug附件進(jìn)程進(jìn)行交互調(diào)試,可以檢測(cè)到一些問題,但是在上線之后,日志的記錄起到至關(guān)重要的作用。本文講解下日志系統(tǒng)的相關(guān)使用2021-06-06.Net 下區(qū)別使用 ByRef/ByVal 的重要性 分享
這篇文章介紹了.Net 下區(qū)別使用 ByRef/ByVal 的重要性,有需要的朋友可以參考一下2013-07-07ASP.NET Core中使用默認(rèn)MVC路由的配置
這篇文章主要介紹了ASP.NET Core中使用默認(rèn)MVC路由的配置,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02asp.net 長文章通過設(shè)定的行數(shù)分頁
長文章通過設(shè)定的行數(shù)來實(shí)現(xiàn)分頁的代碼。2009-12-12C#實(shí)現(xiàn)上傳照片到物理路徑,并且將地址保存到數(shù)據(jù)庫的小例子
這篇文章主要介紹了c#上傳圖片,并將地址保存到數(shù)據(jù)庫中的簡單實(shí)例,有需要的朋友可以參考一下2013-12-12asp.net 頁面逐步呈現(xiàn)的方法總結(jié)
分塊編碼 ( chunked encoding )就是讓 response 分塊編碼進(jìn)行傳輸。response 分塊編碼,可以先傳輸一部分不需要處理的 html 代碼到客戶端,等其他耗時(shí)代碼執(zhí)行完畢后再傳輸另外的 html 代碼。2010-06-06