MVC從新手到入門(一)----MVC專案搭建及簡單的查詢
一、MVC簡介
MVC 是三種 ASP.NET 程式設計模式中的一種。
MVC 是一種使用 MVC(Model View Controller 模型-檢視-控制器)設計建立 Web 應用程式的模式:
- Model(模型)表示應用程式核心(比如資料庫記錄列表)。
- View(檢視)顯示資料(資料庫記錄)。
- Controller(控制器)處理輸入(寫入資料庫記錄)。
MVC 模式同時提供了對 HTML、CSS 和 JavaScript 的完全控制。
二、快速搭建MVC(請使用Visual Studio 2015以上版本)
1、專案建立(我是用的Visual Studio 2019)
建立的時候選擇MVC專案
專案建立之後我們來看一下MVC應用程式的目錄結構,
這樣我們的MVC專案就建立好了。
二、具體內容的實現
我們用DB First的方式來呈現
首先是資料庫部分,我要做的是一個健康醫療管理系統,資料庫結構是這樣的
我們以科室表(Departments)為例
1、在Model中新增類
public class Department { [Key] public int deptID { get; set; } public string D_Name { get; set; } publicstring D_Desc { get; set; } }
2、在配置檔案(Web.config)中新增資料庫連線字串
注意:name="上下文類名"
<connectionStrings> <add name="CuseDBContext" connectionString="Data Source=.;Initial Catalog=CuseDB;Integrated Security=True" providerName="System.Data.SqlClient"/> </connectionStrings>
3、在Model中做資料庫的對映(上下文類的建立)
public class CuseDBContext:DbContext { public DbSet<Department> departments { get; set; } }
4、在Controllers中新增控制器,這裡我們選擇新增一個空的控制器,控制器名字注意以Controller結尾,如:(DepartmentsController)
5、右鍵控制器Index位置,為控制器新增檢視
檢視新增後會在Views層自動生成這樣的目錄,這個字尾名為.cshtml的就是我們的檢視頁了。
6、在後臺Index方法中獲取departments表的值,並傳遞給檢視(View)
CuseDBContext db = new CuseDBContext(); // GET: Departments public ActionResult Index() { var list = db.departments.ToList(); return View(list); }
7、在檢視頁編寫HTML程式碼,
@model IEnumerable<HPIT.MVC7_27PM.Models.Department> 的主要作用是接收控制器中傳遞過來的值
@model IEnumerable<HPIT.MVC7_27PM.Models.Department> @{ ViewBag.Title = "Index";//標題 //Layout = null; //不適用母版頁 } <h2>Index</h2><table align="center" class="table"> <tr> <th> @Html.DisplayNameFor(m => m.deptID) </th> <th> @Html.DisplayNameFor(m => m.D_Name) </th> <th> @Html.DisplayNameFor(m => m.D_Desc) </th> </tr> @foreach (var item in Model) { <tr> <td> @Html.DisplayFor(m=>item.deptID) </td> <td> @Html.DisplayFor(m => item.D_Name) </td> <td> @Html.DisplayFor(m => item.D_Desc) </td> </tr> } </table>
這樣我們就完成了頁面資料載入的工作啦~,執行效果如下:
出現上面的效果說明我們專案已經跑通了,接下來我們再來完成一個小小的功能吧。
三、MVC專案簡單的查詢實現
我們以查詢科室名稱為例
1、在控制器中新增帶引數的ActionResult方法,因為我們要查詢的是科目,所以引數中的d_Name指的是科目名稱。
string d_Name = ""的寫法是為了避免出現d_Name為空的情況。
[HttpPost] public ActionResult Index(string d_Name = "") { var list = db.departments.Where(m => m.D_Name.Contains(d_Name)).ToList(); return View(list); }
2、在View層新增如下檢視頁面程式碼
@*Form表單的另一種寫法*@ @using (Html.BeginForm()) { <table align="center" class="table"> <tr> <td>科室名稱:</td> @*@Html主要用來呈現HTML元素,也可以直接寫HTML程式碼*@ <td>@Html.Editor("D_Name")</td> <td> <input type="submit" value="查詢" class="btn btn-primary" /> </td> </tr> </table> }
查詢功能也完成啦~,執行效果如下:
-----------------------------------------------------------------------------------------------------------
你學會了嗎?