- 浏览: 1022502 次
- 性别:
- 来自: 天津
文章分类
- 全部博客 (445)
- Java (22)
- J2EE (18)
- Flex (102)
- Flex-blazeds (1)
- Flex-FABridge (2)
- Flex4 (3)
- CheckStyle (2)
- PowerDesigner (0)
- POI (2)
- Java2Word (2)
- 杂项 (15)
- 日记 (3)
- 数据库-oracle (41)
- 数据库-SQLServer (7)
- 中间件 (1)
- 英语 (8)
- C# (43)
- ASP.net (72)
- ASP.net MVC (28)
- 微软-Entity Framework (19)
- JavaScript (22)
- JQuery (31)
- EasyUI (3)
- VS2010 (4)
- CVS (1)
- Tomcat (3)
- Linux (1)
- 遗留问题 (1)
- iphone (1)
- MAC (0)
- 系统 (2)
- Web Service (4)
- Cache Manager (1)
- PMP (1)
- WCF (10)
- BootstrapJs (1)
- Web API (6)
- Go语言 (0)
- 网络协议 (2)
- Redis (10)
- RabbitMQ (10)
- Git (3)
- Kafka (5)
- ELK (5)
- Nginx (3)
- 测试 (2)
最新评论
-
ygm0720:
Table行拖拽自己实现 -
程乐平:
Flex4开发视频教程(27集)下载http://bbs.it ...
Flex4教程 -
liuweihug:
Jquery+asp.net 后台数据传到前台js进行解析的办 ...
AJAX $.toJSON的用法或把数组转换成json类型 -
weilikk:
谢谢谢谢!!
javascript IE下不能用 trim函数解决方法 -
gxz1989611:
vigiles 写道请问楼主:[Fault] exceptio ...
blazeds推送技术至Flex
学习ASP.NET MVC架构,非常不错的东西,想必大家都已经对他有了些了解,此文是基础知识,个人总结,高手绕过。
MVC
三种角色
:
--Model:用于存储数据的组件
--View:根据Model数据进行内容展示的组件
--Controller:接受并处理用户指令(操作Model),选择一个View并输出内容。
Controller对View进行引用,但是View不知道Controller的存在。Controller和View都是单向引用Model
MVC变种:Observer模式,MVP模式。
MVC与三层架构
:
三层架构是一种架构模式,它有很明显的层次关系,而MVC是一种表现模式,其中的三个元素没有层次上的先后关系,只是组件之间的协作。
MVC与WebForms
WebForms提倡的是将Web开发抽象成一个组件模型,使用方便,入门容易,但是封装性太强,用好很难,内部有复杂的生命周期和事件处理。
ASP.NET MVC的优势
1.直接,没有太多控件的概念
2.易于对界面逻辑进行单元测试
3.易于前后台人员的配合
....
ASP.NET MVC的组件协作(基本流程)
URL-->Controller(会执行一个方法Action)-->从数据库中获取一个Model对象-->将Model作为ViewData传递给View(Detail.aspx)。
主要的几个步骤:URL Routing,Controller&Action Executing,View Rendering
URL Routing
:
ASP.NET MVC使用的是URL进行驱动的,根据程序中指定的规则从URL中确定Controller名,Action名,其他参数。
System.Web.Routing.dll。独立于ASP.NET MVC框架的组件,可用于任何ASP.NET应用程序。作用是将URL转换为RouteData等数据。
使用:
1>.配置UrlRoutingModule。
2>.在Application_Start时添加规定,这里需要注意锁定的问题(由于Web应用程序天生是多线程的)。
3>.规则的顺序。
4>.RouteExistingFiles属性。
在Global.asax文件中定义:
// URL规则的定义
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapRoute(
" Default " ,
" {controller}/{action}/{id} " ,
new {action = " Index " ,id = 0 },
new {controller = @" ^\w+ " ,id = @" \d+ " });
// Car/bnw.abc
routes.MapRoute(
" Car " ,
" Car/{make}.{model} " ,
new {controller = " car " ,action = " Index " },
new {make = @" (acural|bnw) " });
}
protect void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
RouteTable.Routes.RouteExistingFiles = true ;
}
如果URL访问的是磁盘上的一个物理文件,默认情况下不会被URL Routing,可以用RouteTable.Routes.RouteExistingFiles=true;避免。
Routing和URL Rewrite的区别:
URL Rewrite:改变程序处理的URL(ASP.NET WebFrom)
URL Route:根据URL的规则选择执行(MVC)
Controller & Action
通过URL Routing确定的Controller类和Action方法。Action中执行的是表现逻辑,根据用户传入的参数(URL)来操作Model(执行业务逻辑)-->获取数据-->选择一个View进行输出。
Action执行之后返回的是一个ActionResult(生成html,页面跳转...)
Controller是一个类,而Action是一个方法。
Conetroller的要求:
1>.继承System.Web.Mvc.Controller类
2>.以Controller结尾
3>.XyzController的名称即为:Xyz-->约定胜于配置
4>.ASP.NET MVC框架会在Web应用程序所引用的所有程序及范围内查找Controller。
Action的要求:
必须是个公有的方法
返回ActionResult类型,也可以返回void。直接使用Response.Write
必须是实例方法
不能使泛型方法
没有标注NonActionAttribute
不能被重载
ActionResult:是一个抽象类表示Action的执行结果,ASP.NET MVC架构将在获得ActionReault之后执行其Execute方法。
内置的ActionResult:ActionRedirectResult:跳转到某个Action。HttpRedirectResult:跳转到任
意地址。RenderViewResult:生成内容。EmptyResult:什么都不做。JsonResult:用于JSON序列化输出。
ContentResult:直接输出字符串。
生成View
ViewEngine(表明使用了什么样的View进行生成),它是可替换的。
默认使用aspx,ascx,master
MvcContrib提供了额外的4种ViewEngine。
ASP.NET MVC的默认View:.aspx--页面内容的主体,.master--模板框架,.ascx--局部视图:Html.RenderUserControl方法将一个UserControl生成局部视图。
需继承System.Web.Mvc.ViewPage
--ViewData有个属性为Model
--ViewPage<T>的ViewData为T类型
--默认的ViewPage近似于ViewPage<object>
View中生成html的方式:
1>.内联脚本方式:for{},foreach{}。类似ASP,但是并不是业务逻辑和显示的html放在一起。两者还是分离的。
使用脚本最大的好处就是使用灵活。调试起来是不是不是很方便???
2>.使用控件:Repeater(推荐)可以用来显示一维数据,ListView (推荐)可以用来显示二维数据
3>.使用辅助方法
--HtmlHelper类:提供的一些辅助的方法为我们生成Form,ActionLink,Button,CheckBox,Select(下拉框),Encode....的HTML
方法中提供了很多重载。
--UrlHelper类:生成Url以及与Url相关的东西。比如生成Action的Url。
小结:初步了解下ASP.NET MVC的基本概念和执行流程
发表评论
-
asp.net mvc处理css和js版本问题
2018-05-24 16:40 1398当服务的修改了js和css内容后,发布到II ... -
分布式系统调用链监控
2018-02-22 14:36 862分布式系统调用链监 ... -
使用C# 和Consul进行分布式系统协调
2017-05-11 10:41 1304随着大数据时代的到来,分布式是解决大数据问题的一个主要手段, ... -
权限控制
2016-06-16 11:09 795权限控制就是分为“用户登录身份验证”、“控制器方法权限控制” ... -
[ASP.NET MVC ]13 - Helper Method
2016-06-15 13:44 619我们平时编程写一些辅助类的时候习惯用“XxxHelper”来 ... -
[ASP.NET MVC]14 - Unobtrusive Ajax
2016-06-15 12:46 669Ajax (Asynchronous JavaScript ... -
[ASP.NET MVC ]08 - Area 使用
2016-06-15 12:28 784ASP.NET MVC允许使用 Area(区域)来组织Web ... -
将ASP.NET MVC中的form提交改为ajax提交
2016-06-01 15:51 2452在ASP.NET MVC视图中通过 @using (Htm ... -
@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别
2016-06-01 14:02 1040ASP.NET MVC 中@Html.Partial,@Ht ... -
Fiddler 模拟http form提交
2016-04-19 10:01 1663以下为代码部分 下面是fiddler调用此form ... -
MVC3 验证码
2011-11-07 14:30 1584MVC3开发,看附件 -
MVC 分页 JQuery Pager
2011-11-07 13:00 3204导入的包 <script type=" ... -
ASP.NET MVC - Creating a SelectListItem with the disabled="disabled" attribute
2011-10-24 15:07 1488要完成这样的效果 <option disabled=& ... -
希望大家告诉我一些关于.net MVC3 MVC2的书籍
2011-10-21 16:36 1490大家好,小弟进入微软时间不久,正在学习微软的MVC3,但是基本 ... -
Jquery与.net MVC结合,通过Ajax
2011-10-14 09:55 2640在工作中做了这么一个东西。 Html端: @using T ... -
Radio Button and CheckBox在FireFox中刷新自动改变选中项
2011-08-29 12:54 2786今天开发过程中出现了这样一个问题,我选中radio butto ... -
jQuery Supertextarea Plugin
2011-08-18 11:46 1282http://truthanduntruth.com/deve ... -
详解ASP.NET MVC中DropDownList的使用
2011-07-27 17:27 2249本文我们将讲解DropDownList的使用,这在ASP.NE ... -
MVC ASP页面叫Control的各种方法
2011-07-11 15:43 1645<%@ Control Language="C ... -
ASP.NET MVC 学习: 视图
2011-07-07 16:24 1844用视图呈现UI 视图可以不包含任何应用逻辑或者数据库 ...
相关推荐
ASP.NET MVC4是一种基于微软.NET Framework的开源web应用程序框架,专为构建可维护性和测试性的动态网站而设计。它结合了MVC(Model-View-Controller)设计模式、ASP.NET的功能性和HTML5的新特性,提供了高效且灵活...
MVC3是ASP.NET MVC系列的第三个主要版本,它引入了许多新特性,如 Razor视图引擎、增强的模型绑定、对jQuery的内置支持以及更强大的错误处理机制。 当DWZ框架与ASP.NET MVC3结合使用时,可以实现前后端分离的开发...
ASP.NET MVC4是一种基于Microsoft .NET Framework的轻量级、模型-视图-控制器(MVC)框架,用于构建可维护、高性能的Web应用程序。在VS2010集成开发环境中,结合SQL2008数据库,我们可以创建出功能丰富的Web应用。...
【标题】"一套通用的Easyui+asp.net mvc开发框架源码"揭示了这是一个用于构建Web应用程序的基础架构,结合了两种技术:Easyui和asp.net MVC5。Easyui是一个基于jQuery的用户界面库,提供了丰富的组件和主题,用于...
根据提供的文件信息,我们将深入探讨《精通Asp.Net MVC 第五版英文版》这一书籍中的核心知识点和技术要点。虽然原始内容并未提供具体章节或详细信息,但基于书名及其描述,我们可以合理推测并总结出与Asp.Net MVC ...
ASP.NET MVC6是微软开发的一款用于构建Web应用程序的框架,它是ASP.NET Core的一部分,具有高度模块化、跨平台和高性能的特性。ASP.NET MVC6在ASP.NET MVC5的基础上进行了重大改进,以适应现代Web开发的需求。 1. *...
作为第二版的ASP.NET MVC框架,本书最后一章详细介绍了相对于第一版,新版框架中新增加的功能和改进,帮助开发者了解最新的技术动态。 《Professional ASP.NET MVC 2》一书不仅适合已经有一定Web开发基础的程序员,...
Pro ASP.NET MVC 5 APress, 2013 by Adam Free...这是第一本出版的 ASP.NET MVC5 英文版书籍 源码太大, 压缩后约 202M. 依章节分成5个各自独立的压缩包上传. Pro ASP.NET MVC 5 (source code)书附源码Part1( 02_08) ...
《ASP.NET MVC 4 开发指南》共分11章,第1章讲解通用的MVC特性,第2章讲述正确的开发观念,第3章以一个简单的例子带领读者快速上手ASP.NETMVC,第4~8章分别介绍了ASP.NETMVC最重要的核心观念与技术解析,其中包括...
ASP.NET MVC 4.0 是一个用于构建动态网站的开源框架,由微软开发,它集成了ASP.NET Web Forms和Web Pages的功能,同时引入了模型-视图-控制器(MVC)设计模式,提供了更灵活的开发方式。在这个“asp.net MVC4.0...
ASP.NET MVC框架是微软开发的一款用于构建Web应用程序的开源、轻量级且高度模块化的框架。这个框架结合了Model-View-Controller(MVC)设计模式的灵活性和ASP.NET的强大功能,为开发者提供了构建可测试、高性能的Web...
通过这个小例子,开发者可以学习到如何将现有的前端框架与ASP.NET MVC5相结合,创建一个功能丰富的Web应用,同时了解如何利用Bootstrap和jQuery DataTables提高界面的美观度和功能性。此外,这也是一种实践MVC设计...
ASP.NET MVC3是一个基于微软.NET Framework的开源web应用程序框架,专为构建动态、数据驱动的网站而设计。这个框架融合了Model-View-Controller(MVC)设计模式,提供了更强大的控制力和灵活性,使开发者能够更清晰...
2. **NuGet包管理器**:ASP.NET MVC3集成了NuGet,这是一个强大的包管理工具,可以帮助开发者方便地查找、安装和管理项目所需的第三方库。这极大地简化了依赖项的管理和更新过程。 3. **Unobtrusive JavaScript**:...
ASP.NET MVC 5是微软开发的一个用于构建动态网站的开源框架,它结合了ASP.NET Web Forms和ASP.NET Web Pages的优点,引入了Model-View-Controller(MVC)设计模式,为开发者提供了更灵活、可测试的Web应用程序开发...
《Professional ASP.NET MVC 2》是一本专注于微软ASP.NET MVC框架的专业书籍,旨在帮助开发者深入理解和熟练运用这一强大的Web应用程序开发技术。ASP.NET MVC是一种基于模型-视图-控制器(Model-View-Controller)...