zoukankan      html  css  js  c++  java
  • 初识mvc

    一、MVC与ASP.NET MVC基础概念

    • MVC是Model-View-Controller的缩写.
    • MVC将应用程序划分为3大组件:模型视图控制器.
    • MVC不是ASP.NET所特有,它只是一种开发理念.java中的struts2也是一种MVC模型.
    • ASP.NET MVC从2008年发布1.0版以来,截至2014年ASP.NET MVC最新版本已经是5.0.
    • ASP.NET MVC从1.0版开始,就已经开放源代码(源码地址:aspnetwebstack.codeplex.com).
    • ASP.NET MVC官网地址:http://www.asp.net/mvc

    二、MVC三大组件的相互关系

    • 在控制器中可以直接调用视图和模型
    • 在视图中可以调用模型.
    • 模型不能调用视图
    • 模型能够限定视图中使用的数据,但视图中使用的模型应由控制器提供
    • 在视图中可以调用控制器(通过视图中表单的提交和点击超链接的方式调用)

    三、ASP.NET Webform模型和ASP.NET MVC模型的关系

    • 二者都是基于ASP.NET Web框架构建的开发模型.所以ASP.NET中的一些功能可以被二者公用.
    • Webform编程模型是典型的以事件驱动的web模型,而MVC则不是.
    • Webform的URL地址是基于文件系统的,而MVC则是基于Action.

    四、ASP.NET MVC中的约定

    • 所有的控制器必须放到Controllers文件夹下
    • 所有的控制器类名必须以Controller结尾
    • 所有的模型应该放到Models目录下
    • 所有的视图文件都应该放到Views目录下.
    • 所有的控制器类都应该继承自Controller类(本质上是要继承Icontroller接口)
    • 在控制器类中的public方法被成为Action(行为)
    • 如果在相应的视图目录中没有找到视图文件,那么会寻找ViewsShared目录下名称相同的视图文件
    • 在Action中return view(),默认会返回和Action名称一样的视图文件.
    • 在Global.asax全局应用程序类中注册了默认路由(名称为Default),默认路由指定了Controller默认为Home,Action默认为Index,参数id为可选参数.所以在URL地址中如果不输入controller默认访问Home控制器;如果不输入action默认访问名称为Index的action.http://localhost:54321/   解释:根据默认路由规则,等价于 => http://localhost:54321/Home/Index
    • http://localhost:54321/Home/Index/5  解释:数值5会自动映射到action中名称为id的参数中。
    • Http://localhost:54321/Home/Index/5?name=jack&age=20   解释:其中参数包括id、name和age三个

    其他

    在视图文件中,有一个名称为Model属性,它指代的是从Action中传递的模型数据.为了使用模型数据,我们还需要在aspx视图中<%@Page  %>指令的Inherits属性中设置模型数据的类型/Razor视图中设置model 类型......

    作者:易墨
    个人小站:http://www.yimo.link
    纯静态工具站点:http://tools.yimo.link/
    说明:欢迎拍砖,不足之处还望园友们指出;
    迷茫大概是因为想的太多做的太少。

  • 相关阅读:
    浏览器中包含什么?三个常驻线程?
    TCP粘包和拆包
    TCP有限状态机
    TCP的拥塞控制
    TCP滑动窗口实现流量控制
    http状态码及意义
    OSI七层结构
    浏览器的event loop
    history api
    表单提交的方式
  • 原文地址:https://www.cnblogs.com/morang/p/4004255.html
Copyright © 2011-2022 走看看