[.Net碼農]MVC——入門+最簡單的小例項
阿新 • • 發佈:2019-02-04
MVC全名是Model View Controller,是模型(model)-檢視(view)-控制器(controler)的縮寫,一種軟體設計典範,用於組織程式碼用一種業務邏輯和資料顯示分離的方法。
1.最上面直接面向用戶的"檢視層"(View)。它是提供給使用者的操作介面。
2.最底層核心的"資料層"(Model),也就是程式需要操作的資料或資訊。
3.中間層是"控制層"(Controller),它負責根據使用者從"檢視層"輸入的指令,選取"資料層"中的資料,然後對其進行相應的操作,產生最終結果。
MVC就像有點類似於食堂,可以分成三部分。一部分是倉庫,負責提供蔬菜等原材料,這是"資料層"(Model);另一部分是賣飯視窗,這是它的"檢視層"(View),負責銷售飯菜;兩者之間是通過廚師這個"控制層"(Controller)將原材料從“倉庫”中取出,處理加工後放到“視窗”上賣。
下面就通過一個小例子進一步說明MVC的中三層的各自的作用以及互動。
1.新建mvc專案。
2.在Models資料夾下新建一個user類,用於模擬資料。
- publicclass user
- {
- publicstring userName {get;set; }
- publicstring passWord{get;set;}
- publicoverridestring ToString ()
- {
-
return"userName="+this.userName+",passWord="+this.passWord;
- }
- }
3.在Controllers資料夾下新建一個控制器,用於從獲取user.cs中資料,並將處理後資料傳給Index.cshtml檢視。
- namespace MyMvcTest.Controllers
- {
- publicclass MyUserController : Controller
- {
- //
- // GET: /MyUser/
- public List<Models.user> InitData()
- {
-
List<Models.user> list = new
- {
- new Models.user(){userName="1",passWord="1"},
- new Models.user(){userName="2",passWord="2"},
- new Models.user(){userName="3",passWord="3"}
- };
- return list;
- }
- public ActionResult Index()
- {
- //建立一個StringBuilder
- System.Text.StringBuilder sbHtml = new System.Text.StringBuilder(4000);
- //初始化資料
- List<Models.user> list = InitData();
- //從list中獲取資料並存入到sbHtml中
- list.ForEach(d =>
- {
- sbHtml.AppendLine("<div>"+d.ToString()+"</div>");
- });
- //利用ViewBag傳輸資料給同名的index.cshtml檢視
- ViewBag.HtmlStr = sbHtml.ToString(); //ViewBag是一個dynamic型別集合,可以動態新增任意型別的任意名稱的屬性和值
- return View();
- }
- }
- }
4.新增檢視,用於將資料顯示到Index.cshtml檢視中。
- @{
- Layout = null;
- }
- <!DOCTYPE html>
- <html>
- <head>
- <metaname="viewport"content="width=device-width"/>
- <title>Index</title>
- </head>
- <body>
- <div>
- @Html.Raw(ViewBag.HtmlStr)
- </div>
- </body>
- </html>
總結:View提供給操作介面,Model提供程式需要操作的資料或資訊,Controller負責對資料加工並傳入到到view中。