Razor 頁面是Asp.Net Core2.0新增的一個功能。Razor 頁面是 ASP.NET Core MVC 的一個新特性,它可以使基於頁面的編碼方式更簡單高效。
環境:vs2017 .net core2.2
Razor 頁面項目搭建
目錄說明
wwwroot:放置網站的靜態文件的目錄。例如/wwwroot/a.js,瀏覽器訪問地址/a.js
依賴項:引用
Pages:存放razor頁面。例如/Pages/index.cshtml,瀏覽器訪問地址/index
- _Layout.cshtml 是整個網站的母板文件,
- _ViewStart.cshtml 負責設置所有Razor頁面都會用到的Layout屬性,
- _ViewImports.cshtml 負責設置所有頁面都會用到的指令,比如引入什麼類庫等
- _ValidationScriptsPartial.cshtml 負責引用驗證腳本,比如jquery的validation組件
appsettings.json:應用配置文件。可存放數據庫鏈接字符串等信息
bower.json:靜態資源包管理的配置文件
Program.cs:包含程序的入口點
Startup.cs:包含配置應用行爲的代碼,初始化配置
Razor頁面介紹
.net core2中的新功能,是結合了web form和Mvc兩個asp.net經典框架,另外還加入了mvvm理論(Model-View-ViewModel)而衍生出的新東西。razor頁面包含view+controll,比mvc更輕量級,它屬於mvc的一部分。設計有點像webform中的aspx。每個 Razor 頁面都是一對文件。
- 一個 .cshtml 文件,其中包含使用 Razor 語法的 C# 代碼的 HTML 標記。
- 一個 .cshtml.cs 文件,其中包含處理頁面事件的 C# 代碼。
注意:頭部必須以@page開始。@page使文件轉換爲一個 MVC 操作 ,這意味着它將直接處理請求,而無需通過控制器處理。 @page
必須是頁面上的第一個 Razor 指令。
頁面的 URL 路徑的關聯由頁面在文件系統中的位置決定。 下表顯示了 Razor 頁面路徑及匹配的 URL:
文件名和路徑 | 匹配的 URL |
---|---|
/Pages/Index.cshtml | / 或 /Index |
/Pages/Contact.cshtml | /Contact |
/Pages/Store/Contact.cshtml | /Store/Contact |
/Pages/Store/Index.cshtml | /Store 或 /Store/Index |
Razor Pages 按所列順序搜索以下目錄中的 Razor 資源(例如佈局和分區):Pages文件夾——>/Pages/Shared/——>/Views/Shared/
你喜歡哪個妹子呢?
Razor 頁面(CRUD)
添加模型:新建文件夾models,新建類Student
using System; namespace WebRazorPage.Models { public class Student { public int ID { get; set; } public string name { get; set; } public int sex { get; set; } public int age { get; set; } public DateTime timesAdd { get; set; } } }
添加基架:pages新建文件夾student,然後右鍵添加razor頁面
創建的文件
Pages/student:“創建”、“刪除”、“詳細信息”、“編輯”和“索引”。
Data/dbContext.cs
文件已更新
Startup.cs
基架工具自動創建 DB 上下文並將其註冊到依賴關係注入容器。
初次遷移
提示下列錯誤
PowerShell version 2.0 is not supported. Please upgrade PowerShell to 3.0 or greater and restart Visual Studio.
意思就是powershell版本太低需要升級,下載地址https://www.microsoft.com/zh-CN/download/details.aspx?id=40855,下載安裝重啓電腦。