摘要:[ASP.NET MVC] 使用MVC模式開發一個功能的流程
學ASP.net MVC沒多久後,似乎有點略懂ASP.net MVC架構的撰寫流程,
在維基百科中,MVC模式指的就是三層架構模式,分別為模型(Model)、檢視(View)、控制器(Controller),
那到底要怎麼在ASP.net以MVC模式來撰寫呢?
在我的撰寫經驗中,通常會先建立模型(Model),在撰寫檢視(View),最後撰寫控制器(Controller),
舉個例子好了,以很多網站都會需要用到的登入頁面來說,
先建立模型(Model) UserInfoModel.cs :
public class UserInfoModel
{
public string UserName { get; set; }
public string Password { get; set; }
}
上面這樣就是一個最簡單的模型!(程式碼是臨時手打,不一定保證正確,但樣子就是這樣)
有了模型,我們就要將這個模型使用檢視(View)來顯示 Login.cshtml :
@model mvcproject.Models.admin.UserInfoModel
@using (Ajax.BeginForm("Login", "admin"))
{
@Html.LabelFor(m => m.UserName)
@Html.TextBoxFor(m => m.UserName)
@Html.LabelFor(m => m.Password)
@Html.TextBoxFor(m => m.Password)
}
像這樣就可以在網頁上顯示這個模型(類別)中的UserName跟Password的標籤文字與文字欄位,
但實際請求網址(xxx.com.tw/admin/login)的路徑是adminController.cs的login方法,
public class adminController : Controller
{
public ActionResult Login()
{
return View();
}
[HttpPost]
public ActionResult Login(UserInfoModel userInfoModel)
{
// 可能將使用者帳號密碼跟資料庫比對etc code
return View();
}
}
這樣就完成一個用MVC模式開發登入頁面的流程,雖然開發是這樣,
但實際執行的順序卻是先用控制器→模組→檢視,才會將網頁原始碼回傳到Client Web Browser。
上述是我的開發經驗,如果有錯誤,請幫忙留言糾正,感謝。