APS.NET MVC + EF (05)---控制器】的更多相关文章

Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务端的交互,并且负责协调Model与View之间数据传递,是ASP.NET MVC框架核心.Controller为ASP.NET MVC框架的核心组成部分,其主要负责处理浏览器请求,并决定响应什么内容给浏览器,但并不负责决定内容应如何显示(View的职责). 5.1 动作方法 Controller本身就是一个类(Class),该类别有许多方法(Method),这些方法中只要是公开方法(public method)就会被…
在实际开发中,模型往往被划分为视图模型和业务模型两部分,视图模型靠近视图,业务模型靠近业务,但是在具体编码上,它们之间并不是隔离的. 6.1 视图模型和业务模型 模型大多数时候都是用来传递数据的.然而即使在传递数据这一点上,也可以看出,视图需要的模型更加灵活一点,因为视图变化性更大,而处理业务的模型更加稳定一些.因此,在实际开发中,往往有视图模型和业务模型的区分.在实际开发中,为了体现逻辑的分离,往往是视图模型和业务模型分别定义. 例如,在传统三层开发中,我们定义的实体类,可以看作是业务模型的定…
过滤器本质就是对动作方法的执行过程进行干预,这种干预可以影响动作方法执行的各个过程.ASP.NET MVC 提供了4种类型的接口,并在接口中定义了各种成员,代表代码执行的各个阶段,这些接口和成员如表11-1所示. 表11-1 常见过滤器接口 过滤器类型 接口 默认实现 描述 Action IActionFilter ActionFilterAttribute 在动作方法之前及之后运行 Result IResultFilter ActionFilterAttribute 在动作结果被执行之前和之后…
对于Web开发人员来说,用户输入验证一直是一个挑战.不仅在客户端浏览器中需要执行验证逻辑,在服务器端也需要执行.如果觉得验证是令人望而生畏的繁杂琐事,ASP.NET MVC框架提供了数据注解的方式帮助我们处理这些琐事. 8.1 验证注解的使用 数据注解特性定义在名称空间System.ComponentModel.DataAnnotations中,它们提供了服务器端验证的功能,当在模型的属性上使用这些特性时,框架也支持客户端验证.在名称空间DataAnnotations中,有4个特性可以用来应对一…
在ASP.NET MVC中,可以借助HtmlHelper 对象来输出页面内容,提高开发效率.下面,我们将介绍一些常用的辅助方法. 7.1 HTML辅助方法 BeginForm 该辅助方法主要用来产生<form>标签,可以通过using语法来使用. //参数1:actionName 参数2:controllerName @using(Html.BeginForm("About","Home")) { <!-- 输出表单元素 --> } 使用Ht…
4.1 视图引擎 ASP.NET MVC 提供两种视图引擎:ASPX(C#)和Razor(CSHTML),推荐使用Razor. 4.1.1 Razor的语法 在Razor视图中,所有的服务器端代码都是围绕@展开的,下面介绍@使用的各种语法形式和应用情况. @( expression) 或 @ expression @是Razor中的一个重要符号,它被定义为Razor服务器代码块的开始符号.例如,我们可以在View中直接写C#代码输出日期 <p> @Datetime.Now.ToStirng()…
3.1 MVC简介 MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式.它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller).Asp.net MVC是微软提供的MVC开发框架. MVC将UI层分为了三个部分: 模型:一组类,描述了要处理的数据以及修改和操作数据的业务规则. 视图:定义应用程序界面的显示方式. 控制类:一组类,用于处理来自用户.整个应用程序流以及特定应用程序逻辑的通信. 3.2 第一个A…
一:框架搭建     1:先创建Model. 2:创建数据访问接口层.IUserInfoDal 在该接口中定义了常见的方法CURD以及分页方法. public interface IUserInfoDal { IQueryable<UserInfo> LoadEntities(System.Linq.Expressions.Expression<Func<UserInfo, bool>> whereLambda);     IQueryable<UserInfo&…
在Web系统中,Ajax技术已经成为提高用户体验的必备技术.开发Ajax程序,涉及两方面的内容:一是客户端技术,二是服务器端技术. (1)客户端技术 核心工作是通过JavaScript向服务器发送数据和接收数据.初次之外还涉及两个工作,一是数据的展示,因此涉及Html DOM.CSS等相关技术:二是数据处理,因此涉及JSON.XML等数据格式处理技术.在实际开发过程中,可以借助一些客户端框架,来提高工作效率. (2)服务器端技术 核心工作是完成在服务器端接收和发送数据. 10.1 使用动作方法处…
2.7 深入理解Entity Framework 性能问题几乎是一切ORM框架的通病,对于EF来说,引起性能低的原因主要在以下几个方面. 复杂的对象管理机制为了在.NET中更好地管理模型对象,EF提供了一套内部机制管理和跟踪对象的状态,保持对象的一致性,带来方便的同时,降低了性能. 高度封装的执行机制 在EF应用中,编写的任何一个查询表达式都需要经过分析,解析成SQL语句,然后调用底层的ADO.NET Providers去执行.直接执行SQL语句相比,性能上有一定的降低. 低效的SQL语句 EF…