asp.net mvc课程设计,asp.net mvc 控制器

  asp.net mvc课程设计,asp.net mvc 控制器

  我以前在ASP.NET学过MVC 3,但只是匆匆一瞥。这次,我特意拿起了一本书。在系统的学习下,这里只是对一些重点的摘录和总结,并不是详细的介绍。是读书笔记。希望能对大家有所帮助。

  第一章导言

  MVC模式的引入

  MVC(模型-视图-控制器)模式是一种用户界面模式,它将应用程序的用户界面分为三个部分:

  L: group类,它描述了要处理的数据以及修改和操作数据的业务规则。

  l视图:定义应用程序用户界面的显示模式。

  l:用于处理来自用户的通信、整个应用程序过程及其特定应用程序逻辑的一组类。

  1.1.3MVC在web框架中的应用

  在ASP。NETMVC,MVC的三个主要部分定义如下:

  描述一些程序员感兴趣的问题领域。这些类通常封装存储在数据中的数据,以及用于操作这些数据和在特定领域中执行业务逻辑的代码。在ASP.NET,该模型相当于使用工具的数据访问层,其中包括NHibernate,一个实体框架和特定逻辑的自定义代码。

  L view:一个动态生成Html页面的模板

  l:一个特殊的类,它协调视图和模型之间的关系,响应用户输入,并与模型对话。这个类在APS.NETMVC中通常表示为Controller。

  ASP。NET采用了大多数基于MVC的Web框架使用的一些基本原则:

  l约定胜于配置。

  我不重复

  我试着让它不被拔掉。

  l尽量帮助开发者,必要时允许他们自由发挥。

  1.1.4ASP.NETMVC3应用广泛。原因:

  友好的视图表示,包括新的Razor引擎。

  支持NET4数据注释

  l改进了模型验证,验证配置文件是高效的。

  l与DependencyResolution和全局操作过滤器的强关联

  l支持JavaScript、JQuery验证和JSON绑定

  我支持NuGet。

  1.1.5Razor视图引擎

  Razor是专门设计作为视图引擎的语法,主要功能是集中生成HTML代码模板。

  Razor语法设计目标:

  l简洁、富于表现力和灵活性

  比如:@ foreach(varalbumimodel . albums)

  {

  里

  ahref=@Url。动作(详细信息,新建{ id=相册。AlbumId}) span @album。标题/span /a

  /a

  }

  从标记到代码的转换只能由@字符表示,Razor引擎将自动检测从代码到标记的转换。

  l简单易学。当你需要写作的时候。NET代码,只需输入@符号,然后输入HTML代码。

  我支持所有的文本编辑器。

  强大的感知功能

  l单元测试:Razor view engine的核心编译引擎对System.web或ASP.NET没有依赖性,可以进行单元测试,甚至执行命令。

  1.1.6改进验证

  1.支持。NET4数据注释

  在l.net框架中,系统的显示属性。componentmodel.dataannotations可以本地化。

  长度NET4添加了ValidationAtribute特性,以便更好地与整个模型验证上下文系统一起工作。

  2.改进模型验证的简化验证。

  1.1.7强大的JavaScript支持

  1.非侵入式Javascript(不影响网页标记)

  页面元素通过元素的ID或类链接,而不是通过事件特征(比如onclick和onsubmit)链接。

  ASP。NETMVC3以两种方式支持非侵入式JavaScript。

  LAjax辅助类(比如Ajax。ActionLink和Ajax。BeginFrom)结合了扩展特性(数据特性)和Jquery技术,为表单标签提供简洁的标记。

  LAjax验证不再发送完整的验证规则,而是应用数据特性。使用data- feature时,更容易使用和重用JQuery和其他JavaScript库的验证信息。

  2.JQuery验证

  3.JSON绑定

  JSON(JavascriptobjectNotation)绑定是通过JsonValueProviderFactory支持的。

  高级功能

  1.支持dependencyresolver。

  简化应用程序中依赖注入的使用,使分离应用程序组件变得更容易,从而使配置组件进行测试变得更容易。

  例如,添加了对依赖关系解析器的支持:

  l控制器(注册和注入控制器工厂,注入控制器)

  l视图(注册并注入视图引擎,将依赖注入视图页面)

  l操作过滤器(定位和注入过滤器)

  l型粘合剂(配准和注射)

  l模型验证提供者(注册和注入)

  l模型元数据提供者(注册和注入)

  l价值提供者(注册和注入)

  2.全局操作过滤器

  应用于程序中所有操作方法的全局操作过滤器扩展了这个函数(ASP。NETMVC2)

  1.2ASP.NETMVC和约定

  默认情况下,ASP。NETMVC应用程序高度依赖于约定。

  例如,在解析视图模板时,ASP。缺省情况下,NETMVC将在应用程序下的\ \Views\[ContorllerName]\] \目录中找到视图模板。

  1.协议比配置好。

  每个控制器类的名字以Controller结尾,在Controller文件夹中。

  l所有视图都放在一个单独的文件夹views directory中。

  l控制器使用的视图位于视图主目录的子目录中,这个子目录的名称是通过从控制器的名称中减去控制器来确定的。

  2.达成协议以简化沟通

  写交流的代码,主要是针对两种不同的受众。

  l清晰明确的指令需要传递给计算机执行。

  l开发人员需要阅读你的代码,以便后期维护和调试。

  第二章控制器

  2.1主计长的作用

  MVC模式下的控制器主要负责对应用户的输入,通常在响应时修改模型。这样,MVC模式下的控制器主要关心的是应用流程、输入数据的处理以及相关试题输出数据的提供。

  URL与存储在Web服务器硬盘上的文件不直接相关,但与控制器类的方法相关。

  MVC提供方法调用的结果,而不是动态生成的页面。

  2.2控制器中的参数

  在ASP的默认路由协议中。NETMVC,操作方法名后面的URL片段作为名为ID的参数。如果操作方法中有一个名为ID的参数,这个URL片段将自动作为参数传递。

  例如/store/details/5=/store/details?id=5

  控制器操作感觉就像web浏览器直接调用控制器类中的方法。类、方法和参数都体现为URL中的特定路径片段或查询字符串,结果是返回给浏览器的字符串,因此忽略以下细节:

  L route将URL映射到操作。

  l使用视图作为模板生成一个字符串返回给浏览器。

  l操作很少返回原始字符串,通常返回适当的ActionResult来处理诸如HTTP状态代码和调用视图模板系统之类的事情。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: