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; }

        public string 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>

}

查詢功能也完成啦~,運行效果如下:

 

-----------------------------------------------------------------------------------------------------------

你學會了嗎?

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM