ASP.NET MVC
MVC(Model View Controller 模型-視圖-控制器)
- Model(模型)表示應用程序核心(比如數據庫記錄列表)。
- View(視圖)顯示數據(數據庫記錄)。
- Controller(控制器)處理輸入(寫入數據庫記錄)。
- MVC環境設置
一、MVC 文件夾
一個典型的 ASP.NET MVC
Web 應用程序的文件夾內容如下所示:
1.應用程序信息
- Properties
- References
2.應用程序文件夾
- App_Data:存儲應用程序數據(添加SQL 數據庫)
- Content:存放靜態文件,比如樣式表(CSS文件)、圖標和圖像。
- themes - 存放jQuery 樣式和圖片
- Site.css - 標準的樣式表文件(CSS文件)
- Controllers:處理用戶輸入和相應的控制器類
- Models:模型控制並操作應用程序的數據
- Views:存儲與應用程序的顯示相關的HTML 文件(用戶界面)
- Shared 文件夾 -
_ViewStart
自動添加到由應用程序顯示的所有視圖。 @{Layout = "~/Views/Shared/_Layout.cshtml";}
- Shared 文件夾 -
- Scripts:存儲應用程序的JavaScript
3.配置文件
- Global.asax
- packages.config
- Web.config
二、添加添加樣式和佈局
_Layout.cshtml
:表示應用程序中每個頁面的佈局。位於Views 文件夾中的Shared 文件夾。
HTML 幫助器
@Url.Content()
:URL 內容將在此處插入。@Html.ActionLink()
:HTML 鏈接將在此處插入。
Razor 語法
@ViewBag.Title
:頁面標題將在此處插入。@RenderBody()
:頁面內容將在此處呈現。
範例
1 | <!DOCTYPE html> |
三、Controllers 文件夾
Controllers文件夾包含負責處理用戶輸入和響應的控制類。
MVC 要求所有控制器文件的名稱以”Controller” 結尾。
Home 控制器
在我們應用程序中的控制器文件HomeController.cs ,定義了兩個控件Index和About 。
1 | using System; |
Controller 視圖
- Views文件夾中的文件Index.cshtml和About.cshtml定義了控制器中的ActionResult視圖Index()和About()。
四、Views 文件夾
- Views文件夾存儲的是與應用程序顯示(用戶界面)相關的文件(HTML文件)。 根據所採用的語言內容,這些文件可能擴展名可能是html、asp、aspx、cshtml 和vbhtml。
類型 | 副檔名 |
---|---|
HTML | .htm or .html |
ASP | .asp |
ASP.NET | .aspx |
ASP.NET Razor C# | .cshtml |
ASP.NET Razor VB | .vbhtml |
Index 文件
- Index.cshtml 表示應用程序的Home 頁面。 它是應用程序的默認文件(首頁文件)。
1 | @{ViewBag.Title = "Home Page";} |
五、Models 文件夾
- AccountModels包含LogOnModel 、 ChangePasswordModel和RegisterModel 。
添加數據庫視圖
在Movies 文件夾中,會自動創建以下文件:
- Create.cshtml
- Delete.cshtml
- Details.cshtml
- Edit.cshtml
- Index.cshtml
六、MVC 應用程序安全
Models文件夾包含表示應用程序模型的類。
Visual Web Developer自動創建AccountModels.cs文件,該文件包含用於應用程序認證的模型。
AccountModels包含LogOnModel 、 ChangePasswordModel和RegisterModel :
七、MVC HTML 幫助器
通過MVC,Html.ActionLink() 不連接到視圖。 它創建一個連接到控制器操作。
Razor 語法:@Html.ActionLink("About this Website", "About")
ASP 語法:<%=Html.ActionLink("About this Website", "About")%>
第一個參數是鏈接文本,第二個參數是控制器操作的名稱。
上面的Html.ActionLink() 幫助器,輸出以下的HTML:<a href="/Home/About">About this Website</a>
範例
ASP .NET 語法C#:
1 |
|