- Model(模型)表示应用程序核心(比如数据库记录列表)。
- View(视图)显示数据(数据库记录)。
- Controller(控制器)处理输入(写入数据库记录)。
MVC开始是存在于桌面程序中的,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。
MVC架构模式
MVC架构综合模型
下面简单分享一个mvc小例子这里暂时还没有涉及到model:
Controller
namespaceMvc1.Controllers{ //控制器三个原则:非静态类,实现IController接口,必须以Controller结尾命名 //所有添加的控制器都必须继承自Controller基类,它又继承自ControllerBase,实现了IController接口 public class HomeController : Controller { // GET: /Home/ public ActionResult Index() { ViewData["key1"] ="MVC小例子"; return View(); } }}
View
<%@ PageLanguage="C#"Inherits="System.Web.Mvc.ViewPage<dynamic>" %> <!DOCTYPE html> <html><headrunat="server"> <meta name="viewport"content="width=device-width" /> <title>Index</title></head><body> <div> <p><%:ViewData["key1"] %></p> </div></body></html>
关于Controller和View更多的传值方式可以参考博客:
MVC各种传值方式 ASP.NET MVC view与controller传值方式
源文档 <http://blog.csdn.net/deepwishly/article/details/9836599>
补充:
这里简单的对路由进行说明,路由配置在“App_Start文件夹下,其代码及说明如下:
namespace Mvc1{ public class RouteConfig { public static voidRegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}");//注册一个路由规则 routes.MapRoute( name:"Default",//路由的名字 url:"{controller}/{action}/{id}",//url的格式 //例如 http://localhost/Home/Index/ defaults: new { controller ="Home", action = "Index", id = UrlParameter.Optional } ); } }}
我们运行上面的例子可以得到如下效果图:
注意那个地址和我们演示地址之间的联系,浏览器预览如下:
这里我们可以看到地址是http://localhost:36454那么按照上面的方法将地址改为http://localhost:36454/Home/Index/其实也是可以的,这就是说访问Home控制器下的Index,所以效果一致。