zoukankan      html  css  js  c++  java
  • mvc基础

    MVC的基本概念

    1:MVC 分别是 Model—View-Controller

    2:  MVC就是将应用程序划分为3大组件:模型、视图、控制器

    3:JAVA里面的STRUTS2也是一种MVC模型,因此MVC不是ASP.NET所特有的

    4:ASP.NET MVC从2008年发布1.0版本,2014年发布了MVC 5.0

    MVC之间相互的关系

    1:在控制器中可以直接调用视图和模型

    2:在视图当中可以直接调用模型

    3:在模型中不可以调用视图

    4:模型能够限定视图中使用的数据,但视图中使用的模型应该由控制器控制

    5:在视图中可以调用控制器(通过视图中点击链接的方式或者视图中的表单提交)

    MVC与Web Form比较

    二者都是基于ASP.NET Web框架构建的开发模型,所以ASP.NET平台中的一些功能可以两者通用。

    Webform的Url地址是基于文件系统的,MVC则是基于Action(行为)

    ASP.NET MVC优点

    1:关注点分离

    2:易于测试

    3:易于维护

    ASP.NET MVC缺点:(相对于Web Form而言)

    开发成本更高,主要是一个时间上的成本

    App_Data:这个目录一般用来保存数据

    App_Start用来存放各种配置文件的

    Content:这个目录建议存放资源文件,比如css,js,图片

    Models:这个目录存放你的业务实体,数据访问层代码的类

    Controllers:这个目录是建议将Controller类都放到这里来

    Views:在默认情况下,所有的view(视图)文件都必须放到这个目录下边,每一个Controller对应一个子目录,而且子目录的名称必须以Controller 的命名一样,

    例如:HomeController那它对应的目录就必须叫Home

    ASP.NET MVC中的约定

    1:所有控制器必须放到Controllers文件夹下面

    2:控制器名称必须以Controller结尾

    3:所有的控制器类都应该继承自Controller类(本质上就是要继承IController接口)

    4:当url访问的时候如果没有找到给定名称的路径,那么它会到Views下面所有文件夹去查找相同action名称的视图文件

    5:在控制器中的public方法被称为Action(行为)

    6:控制器下面的action如果不想被url访问到,那么有两种方式:第一种:改变访问级别(只要不是public都不能被访问),第二种给方法加标记:[NonAction]

    7:在Action中return view(),默认返回和Action名称一样的视图文件

    8http://localhost:2213/Login/Index/1 数值1会自动映射到action中的参数id

     

    9:在Global.asax全局应用程序类中注册了默认路由(名称为Default),默认路由指定了Controller默认为Home, Action为Index,参数id为可选参数

     

    Razor视图基本语法:

    Controller与view之间的数据传递

    ViewBag:是一个动态类型的属性,在mvc3.0中才加入了viewbag属性

    动态类型:dynamic,就是可以事先不为其定义属性,通过直接给属性赋值的方式就可以随时为它添加新的属性

  • 相关阅读:
    将博客搬至CSDN
    java面试题(一)
    大数据面试题(二)
    大数据面试题(一)
    现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?
    java序列化与反序列化总结
    Hashmap,Set,Map,List,ArrayList的区别
    Windows下安装Scrapy
    Eclipse java上手
    lucene文件检索(1)-linux java环境配置
  • 原文地址:https://www.cnblogs.com/tdmins/p/9845585.html
Copyright © 2011-2022 走看看