欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC基础

程序员文章站 2024-02-20 13:12:28
一、mvc与asp.net mvc基础概念 mvc是model-view-controller的缩写. mvc将应用程序划分为3大组件:模型\视图\控制器. 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官网地址:

二、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(行为)

如果在相应的视图目录中没有找到视图文件,那么会寻找views\shared目录下名称相同的视图文件

在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 类型......

上一篇: asp.net发送邮件实现方法

下一篇: