我是一個MVC 新手 寫一篇小文章,願與大家分享,寫的到不到的 大家多擔待,多指點 .
MVC 是一種架構模式,MVC全稱ModelViewController,(Model)模型(View)視圖(Controller)控制器
(Model)模型:用於封裝與應用程序業務邏輯相關的數據,以及對數據處理方法,Model對數據直接訪問,Model不依賴View和Controller。
(View)視圖:View主要是用來對頁面的顯示,基本上沒有程序上的邏輯。
(Controller)控制器:Controller主要起到不同頁面的組織作用,簡單理解成在Controller寫的方法return給View,View用ajax調用Controller的方法。
首先我們新建一個MVC項目(如下圖)
大家可以看到 有Model(模型),Controllers(控制機器),View(視圖)這3個文件夾 ,還有一個Global.asax文件
首先我們看一下 Global.asax文件
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 using System.Web.Routing; 7 8 namespace MvcDemo 9 { 10 // 注意: 有關啟用 IIS6 或 IIS7 經典模式的說明, 11 // 請訪問 http://go.microsoft.com/?LinkId=9394801 12 13 public class MvcApplication : System.Web.HttpApplication 14 { 15 public static void RegisterRoutes(RouteCollection routes) 16 { 17 routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 18 19 routes.MapRoute( 20 "Default", // 路由名稱 21 "{controller}/{action}/{id}", // 帶有參數的 URL 22 new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 參數默認值 23 ); 24 25 } 26 27 protected void Application_Start() 28 { 29 AreaRegistration.RegisterAllAreas(); 30 31 RegisterRoutes(RouteTable.Routes); 32 } 33 } 34 }
MVC 遵守的是一種路由規則 執行的時候會先去Global.asax文件找這個規則,然后根據Controller和action找到你要執行的頁面,所以 執行的首頁會是Home/Index
Controllers文件:
提示: 因為本人新建的是一個MVC空項目,所以Controllers和view是不會自動生成文件的,需要自己添加新的視圖和控制器
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 7 namespace MvcDemo.Controllers 8 { 9 public class HomesController : Controller 10 { 11 // 12 // GET: /Homes/ 13 14 public ActionResult Index() 15 { 16 return View(); 17 } 18 19 } 20 }
大家可以看到有一個Index的方法 方法執行return View();意思就是返回給頁面,
下面我寫一個簡單的小Demo
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.Mvc; 6 7 namespace MvcDemo.Controllers 8 { 9 public class HomesController : Controller 10 { 11 // 12 // GET: /Homes/ 13 14 public ActionResult Index() 15 { 16 ViewData["Number"] = "你好Mvc"; 17 return View(); 18 } 19 20 } 21 }
簡單來說Index和action都是action 在這里的意思就是將Index的方法下的"你好MVC"返回給頁面
下面我們看一下View是怎么呈現頁面的,頁面又如何顯示出 你好MVC
1 <body> 2 <div> 3 <%=Html.Encode(ViewData["Number"])%> 4 </div> 5 </body>
可以試試了。
注意事項:新建Controllers得時候一定要和View的文件夾名一樣
添加Controllers時候如果給控制器改名字的話(如下圖)
只修改選中部分不要修改后綴Controllers,修改后的名字一定要和文件夾名字一樣(如下圖)