我是一个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,修改后的名字一定要和文件夹名字一样(如下图)