1. 程式人生 > 實用技巧 >MVC從新手到入門----新增功能的實現

MVC從新手到入門----新增功能的實現

做程式永遠離不開增刪改查,今天我們來說說如何用MVC實現新增功能,

一、主頁面新增跳轉按鈕

上篇博文,我們已經完成了頁面載入和簡單的查詢操作,我們先在查詢旁邊再新增一個按鈕

這裡給大家介紹一種新的按鈕書寫形式:

@Html.ActionLink(一、按鈕的名字,二、執行的方法,三、引數,四、屬性),程式碼如下:

 @Html.ActionLink("新增", "CreateDepartment", null, new { @class = "btn btn-primary" })

非常好用,出來效果是這樣的

二、新增控制器,建立跳轉檢視

這裡第二個引數的名字就是要執行新增控制器的名字,我們需要再控制器中新增這樣一個方法

        /// <summary>
        /// 此方法只做頁面的跳轉,不做其他操作
        /// </summary>
        /// <returns></returns>
        public ActionResult CreateDepartment()
        {
            return View();
        }

同樣的,我們需要給新建功能建立檢視,右鍵新增檢視即可,檢視中寫新增的頁面部分程式碼:

@model HPIT.MVC7_27PM.Models.Department
@{
    ViewBag.Title 
= "CreateDepartment"; } <h2>CreateDepartment</h2> @*<form action="Create" method="post" ></form>*@ @using (Html.BeginForm()) { <table class="table"> <tr> <td> 科室名稱: </td> <td> @Html.EditorFor(m => m.D_Name);
</td> </tr> <tr> <td> 科室備註: </td> <td> @Html.EditorFor(m => m.D_Desc); </td> </tr> <tr> <td colspan="2"> <input type="submit" class="btn btn-danger" value="新增" /> </td> </tr> </table> }
 @Html.EditorFor(m => m.D_Name);返回一個由表示式表示的物件中的每個屬性所對應的input元素,主要是針對強型別,一般這種方式用得多些
他可以直接對應model中的物件,我今天是第一次接觸這種用法,但是太讚了,非常好用。
三、完成控制器中新增功能的實現
注意:新增的提交按鈕一定要是submit,實現新增的程式碼要加[HttpPost]標籤
     /// <summary>
        /// 執行新增操作的方法
        /// </summary>
        /// <param name="d"></param>
        /// <returns></returns>
        [HttpPost]
        public ActionResult CreateDepartment(Department d)
        {
            db.departments.Add(d);//將d物件的狀態設定成新增的狀態
            int i=db.SaveChanges();//將本地更改提交給資料庫
            if (i > 0)
            {
                return RedirectToAction("Index");//跳轉當前路由的Index控制器
            } else
            {
                return View();//停留在本頁面
            }
        }

這樣程式碼部分就完成了,我們來看看效果吧,新增一個效果科:

新增成功跳轉頁面,完美!

當然介面部分完成的還是比較醜的,有些細節寫的也不是很到位,可以再微調一下。

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

今天的分享就到這裡,你學會了嗎?