學習 ASP.NET MVC (第四回)實戰篇

作者: GWPBrian  來源: 博客園  發布時間: 2010-01-19 23:18  閱讀: 4545 次  推薦: 1   原文鏈接   [收藏]  

系列文章導航:

學習 ASP.NET MVC (第一回)理論篇

學習 ASP.NET MVC (第二回)實戰篇

學習 ASP.NET MVC (第三回)實戰篇

學習 ASP.NET MVC (第四回)實戰篇

學習 ASP.NET MVC (第五回)理論篇

 

我們繼續ASP.NET MVC之旅。上文中我們實現了對User信息的展示,詳細信息的列表,還有錯誤頁的實現。本文繼續完成添加,修改,刪除的操作。
首先我們來完成Controller的代碼:

Code

我們定義了編輯,新建,刪除的Controller。
接著,我們開始創建視圖模板,步驟與前面創建視圖模板一樣。如圖所示:

VS自動的為我們生成了模板,在瀏覽器中訪問下我們的編輯頁面:

點擊 Save 保存按鈕,將觸發表單提交到/users/Edit/1 網址,并通過 HTTP POST 提交 表單中的值。下面,我們開始實現 HTTP POST 的 Edit action 方法 – 負責處理保存操作。
這里我們將 action 方法添加[AcceptVerbs] 屬性后,ASP.NET MVC 根據進來的 HTTP 動作,自動分發請求給合適的 action 方法。HTTP POST 請求/Dinners/Edit/[id] 將有上述 Edit 方法負責處理,然而所有其他的HTTP 請求/Dinners/Edit/[id] 將有之前定義的 Edit 方法負責(該方法沒有[AcceptVerbs]屬性)。也就是上面Controller中定義的Edit重載方法。
理解 ModelState 和驗證 HTML 輔助方法
Controller類有一個 ModelState 屬性集合,可以用來提示傳遞到視圖的 model對象是否有錯誤。ModelStat中 Error 記錄識別模型屬性的名稱和錯誤信息,并允許指定友好的錯誤信息。HTML 輔助方法,如 Html.TextBox(),在輸出內容時,會檢查 ModelState 集合。如果發現該屬性有異常或錯誤,將呈現用戶輸入的內容和 CSS 錯誤類。
接下來我們來添加Create視圖模板:

運行程序:

和Edit模板的實現功能類似。我們需要將Create 的方法聲明[AcceptVerbs] 屬性。方法中創建新的 Dinner 對象,并使用 UpdateModel() 輔助方法(就像 Edit 方法一樣),將表單傳遞過來的值賦給 users對象。接著,添加 users對象到 UsersRepository,并持久化到數據庫,并重定向到 Details action 方法。
最后的,我們來實現刪除的功能。添加Delete模板:

action 方法試圖檢索將要刪除的 Users對象。如果 users對象存在,就呈現該 users對象的視圖。如果對象不存在(或者已經刪除了),將返回一個 NotFound 的視圖,之前我們已經創建了這個視圖。
這里我們可以簡單的對頁面做一些修改,提示用戶刪除成功等信息。

至此,一個簡單的用戶管理就完成了,我們可以通過ASP.NET MVC實現對用戶的添加,刪除,修改,信息的顯示等功能。新手可以參看實例學習MVC,在學習的效率上會有很大的幫助。

1
0
 
標簽:ASP.NET MVC
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()