上海 專業(yè)網(wǎng)站建設(shè)seo關(guān)鍵詞選取工具
隨著技術(shù)的發(fā)展,ASP.NET Core MVC也推出了好長時間,經(jīng)過不斷的版本更新迭代,已經(jīng)越來越完善,本系列文章主要講解ASP.NET Core MVC開發(fā)B/S系統(tǒng)過程中所涉及到的相關(guān)內(nèi)容,適用于初學者,在校畢業(yè)生,或其他想從事ASP.NET Core MVC 系統(tǒng)開發(fā)的人員,僅供學習分享使用。
什么是MVC?
MVC是一種架構(gòu)模式,也是一種設(shè)計規(guī)范,主要是為了解決業(yè)務邏輯,數(shù)據(jù),頁面展示相互耦合而設(shè)計出來的一種前后端分離的系統(tǒng)架構(gòu)。對于小系統(tǒng)而言,當有需求需要擴展時,是非常輕而易舉的;但隨著系統(tǒng)的越來越龐大,代碼之間的耦合也越來越高,可謂牽一發(fā)而動全身,修復1個缺陷,可能會潛在的引入3個缺陷。在這種情況下,高內(nèi)聚,低耦合,減少模塊之間的耦合度就顯得尤為重要,MVC也從眾多的方案中脫穎而出,并且越來越被大家認可。
什么是ASP.NET Core MVC?
在.Net Core出現(xiàn)之前,所有的開發(fā)框架都是基于.Net Framework的,但是.Net Framework只適用于Windows操作系統(tǒng),且沒有開源,全部是有Microsoft公司推進。正所謂‘一人計短,二人計長’,開源才是推動技術(shù)進步的最快方法,所以為了不被其他的開發(fā)語言市場逐漸蠶食,.Net Core也出現(xiàn)在了大眾面前。在.Net Core出現(xiàn)之初,就吸引了大批的忠實追隨者,ASP.NET Core MVC也在MVC在.Net Core的實現(xiàn)。模型-視圖-控制器 (MVC) 體系結(jié)構(gòu)模式將應用程序分成 3 個主要組件組:模型、視圖和控制器。?
前提條件
在學習ASP.NET Core MVC開發(fā)Web程序之前,需要具備以下基礎(chǔ)條件:
- C#基礎(chǔ)知識,ASP.NET Core MVC是基于.Net 進行開發(fā)的,所以掌握基本的C#相關(guān)內(nèi)容是很有必要的。
- Html,JavaScript,CSS基礎(chǔ)知識,是進行B/S模式系統(tǒng)開發(fā)必備內(nèi)容。
- 開發(fā)工具【Visual Studio 2022】安裝使用,可到官網(wǎng)進行下載安裝包。
創(chuàng)建ASP.NET Core MVC程序
在Visual Studio 2022中,創(chuàng)建新項目,選擇【ASP.NET Core Web應用(模型-視圖-控制器)】模板,如下所示:
在【配置新項目】頁面,輸入項目名稱,選擇保存位置,然后點擊【下一步】
?
?在【其他信息】頁面,選擇目前比較穩(wěn)定的.NET 6.0(長期支持),然后點擊【創(chuàng)建】按鈕,如下所示:
由于是通過模板進行創(chuàng)建的項目,所以默認會創(chuàng)建基礎(chǔ)的文件夾和示例,如下所示:
注意:基于.Net Framework和基于.Net Core創(chuàng)建的ASP.NET MVC項目,默認生成的文件和目錄結(jié)構(gòu)存在一些細微的差異:
- ASP.NET Core MVC的配置,是基于JSON格式進行配置的。如appsettings.json ,Properties\launchSettings.json 等。
- Program是應用程序的入口,沒有Main函數(shù)。
運行程序
在Visual Studio 2022中運行程序,或F5快捷鍵,啟動程序,會在瀏覽器中打開默認頁面,并啟動一個控制臺窗口,用于日志輸出,如下所示:
修改端口
通過模板創(chuàng)建的ASP.NET Core MVC程序,默認https端口為7116,http端口為5043。如果在瀏覽器中輸入http://localhost:5043,會自動跳轉(zhuǎn)到 https://localhost:7116??梢愿鶕?jù)具體需要,修改默認端口,在launchSettings.json配置文件中,可修改默認配置端口,如下所示:
默認路由
在通過模板創(chuàng)建的ASP.NET Core MVC項目中,默認支持MVC路由,如果是創(chuàng)建的空項目,則需要手動添加,主要由以下三行代碼:
- 注入支持控制器視圖服務。
- 使用路由
- 默認路由配置,可理解為缺省值配置
具體如下所示:
ASP.NET Core MVC的約定
在ASP.NET Core MVC中,流行【約定大于配置】的說法,即在同一個項目中,大家都按照同一種方式去開發(fā),會使項目更易于維護,可讀性更高,同時簡化大量的配置,以提高工作效率。
ASP.NET Core MVC中的約定,體現(xiàn)如下:
- 控制器的約定:
- 所有的Controller必須放到Controllers文件夾中,并以【名稱+Controller】的方式命名,如:HomeController。
- 每個Controller都對應View中的一個文件夾,文件夾的名稱跟Controller名相同,如:Home。
- Controller中的方法名都對應一個View視圖(非必須,但是建議這么做)而且View的名字跟Action的名字相同。
- 控制器必須是非靜態(tài)類,并且要實現(xiàn)IController接口,默認繼承自Controller。
- Controller類型可以放到其他項目中
- ?視圖的約定:
- 所有的視圖必須放到Views目錄下。
- 不同控制器的視圖用文件夾進行分割,每個控制器都對應一個視圖目錄。
- 一般視圖名字跟控制器的Action相對應(非必須)。
- 多個控制器公共的視圖放到Shared:例如公用的錯誤頁、列表模板頁、表單模板頁等等;
添加控制器
在Controllers文件夾上點擊右鍵 添加(D)--控制器(T)...打開控制器窗口,如下所示:
?在新窗口選擇【MVC控制器 - 空】,然后點擊【添加】按鈕
?在添加新項,輸入控制器名稱HelloController,然后點擊【添加】,如下所示:
注意:所有的控制器,均已Controller結(jié)尾。
添加Action
控制器中的每個?public
?方法均可作為 HTTP 終結(jié)點調(diào)用,稱之為Action,通常表示一個請求響應。Action默認返回一個IActionResult,表示一個頁面,同時也可以返回其他數(shù)據(jù)類型,如string,int等。如下所示:
using Microsoft.AspNetCore.Mvc;namespace DemoCoreMVC.Controllers
{public class HelloController : Controller{public IActionResult Index(){return View();}public string Welcome(){return "歡迎公子小六...";}}
}
創(chuàng)建視圖
在ASP.NET Core MVC項目中,可以通過在Action名稱上右鍵,點擊【添加視圖(D)】,打開視圖添加窗口,如下所示:
可以選擇基于模型的視圖,或者空視圖,暫時先選擇【Razor視圖 - 空】,然后點擊【添加】按鈕,如下所示:
?輸入視圖名稱【默認為cshtml后綴,支持Razor語法】,點擊【添加】。
創(chuàng)建成功后,會在Views目錄下,創(chuàng)建Hello文件夾及創(chuàng)建Index.cshtml文件。修改內(nèi)容如下所示:
運行程序,并在瀏覽器中輸入https://localhost:7116/Hello,如下所示:
注意:以上頁面顯示,除了紅框內(nèi)的信息為Views\Hello\Index.cshtml內(nèi)容,其他的均為Layout布局模板中內(nèi)容。若不需要加載布局模板內(nèi)容,或者指定新的Layout布局模板,可將頁面中的Layout設(shè)置為空,或其他路徑,如下所示:
@*For more information on enabling MVC for empty projects, visit https://go.microsoft.com/fwlink/?LinkID=397860
*@
@{Layout = null;
}
<h1>歡迎公子小六</h1>
以上就是ASP.NET Core MVC從入門到精通之初窺門徑的全部內(nèi)容,后續(xù)會繼續(xù)講解ASP.NET Core MVC其他內(nèi)容。