ASP.NET MVC基础

所属分类: 网络编程 / ASP.NET 阅读数: 1761
收藏 0 赞 0 分享

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

如果在相应的视图目录中没有找到视图文件,那么会寻找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 页面间传值与跳转的区别

通过Server.Transfer("b.aspx") 与Response.Redirect("b.aspx")的区别
收藏 0 赞 0 分享

ASP.NET Gridview与checkbox全选、全不选实现代码

ASP.NET Gridview checkbox全选与全不选实现代码,其实原理就是利用js来实现的,但需要简单的设置下回传。
收藏 0 赞 0 分享

ASP.NET DropDownList控件的使用方法

ASP.NET DropDownList控件的使用方法,学习asp.net的朋友没用过这个控件的朋友可以参考下。
收藏 0 赞 0 分享

一些.NET对多线程异常处理技巧分享

多线程应用,在实际的项目或产品开发中,原则上来说,应该尽量避免,但是在强调用户体验的要求下或开发平台的限制下(如 Silverlight Socket 通讯),我们不得不用多线程。
收藏 0 赞 0 分享

ASP.NET MVC运行出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null的解决方法

同一相站点,有些页面的客户端验证能工作,而有些死活不行。打开页面就出现Uncaught TypeError: Cannot set property __MVC_FormValidation of null错误
收藏 0 赞 0 分享

asp.net 通用分页显示辅助类(改进版)

在使用ASP.NET编程时,如果不用控件的默认分页功能,想自己搞一个,可以看看本文的asp.net通用分页显示辅助类哦。
收藏 0 赞 0 分享

微软 Visual Studio 2010官方下载地址给大家

昨天VS2010在网上报道都已经发布了,现在今天在网上找到Visual Studio 2010官方下载地址,提供给大家下载。
收藏 0 赞 0 分享

Javascript 直接调用服务器C#代码 ASP.NET Ajax实例

近来总有一些朋友会问到一些入门的问题,把这些问题整理一下,写出来。在以前的文章里,曾经利用纯JS编写过Ajax引擎,在真正开发的时候,大家都不喜欢以这种低效率的方式开发,利用MS Ajax的集成的引擎,可以简单不少工作。
收藏 0 赞 0 分享

ASP.NET 页面刷新的实现方法(包括html,js)

ASP.NET 页面刷新的实现方法,比较全了, 包括html与js下的实现方法。
收藏 0 赞 0 分享

asp.net 无刷新翻页就是这么简单

前两天看了一个自定义分页控件,和AspNetPager一样是实现IPostBackEventHandler接口,不过简洁许多,就想能不能实现ICallbackEventHandler接口做到无刷新分页呢?想到了就马上去做,终于,设想变成了现实!!
收藏 0 赞 0 分享
查看更多