【精品】Asp.Net MVC2.0从入门到精通精品ppt课件.ppt
《【精品】Asp.Net MVC2.0从入门到精通精品ppt课件.ppt》由会员分享,可在线阅读,更多相关《【精品】Asp.Net MVC2.0从入门到精通精品ppt课件.ppt(72页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Asp.NetMVC2.0从入门到精通高级软件人才实作培训专家高级软件人才实作培训专家准备工作l开发环境:VS2010lSqlServer2008ExpresslMVC2.0lVS2008安装MVC2.0请参考:lMVC3.0已经发布,但是目前用的最多的是MVC2.0高级软件人才实作培训专家高级软件人才实作培训专家课程安排lMVC基础知识介绍lMVC与三层应用举例lMVC展望高级软件人才实作培训专家高级软件人才实作培训专家Asp.Net Web开发方式lWebFrom开发lAsp.NetMVC开发lMVC是微软2009对外公布的第一个开源的表示层框架,这是微软的第一个开源项目lMVC目的不是取
2、代WebFrom开发,只是web开发的另外一种选择高级软件人才实作培训专家高级软件人才实作培训专家WebForm模型高级软件人才实作培训专家高级软件人才实作培训专家高级软件人才实作培训专家高级软件人才实作培训专家高级软件人才实作培训专家高级软件人才实作培训专家Asp.Net MVC 简介lAsp.NetMVC模式是一种表现模式。它将web应用程序分成三个主要组件即:Model、View、ControllerlM:Model主要是存储或者是处理数据的组件Model其实是实现业务逻辑层对实体类相应数据库操作,如:CRUD(C:Create/R:Read/U:Update/D:Delete)。它包括
3、数据、验证规则、数据访问和业务逻辑等应用程序信息。lV:View是用户接口层组件。主要是将Model中的数据展示给用户lC:Controller处理用户交互,从model中获取数据并将数据传给指定的view高级软件人才实作培训专家高级软件人才实作培训专家MVC请求模型高级软件人才实作培训专家高级软件人才实作培训专家借用WebFrom理解MVCl新建WebFrom项目lLabel的例子l在page类中添加一个Listl在前台用for循环遍历显示listl分层思想lWebFromCodebehindlMVC代码和页面彻底分离高级软件人才实作培训专家高级软件人才实作培训专家Asp.Net MVC 第
4、一个程序l新建一个MVC项目l认识Web项目中的Controllerl认识Web项目中的Viewl认识Web项目中的Model高级软件人才实作培训专家高级软件人才实作培训专家约定大于配置lController放到controllers文件夹中,并且命名方式以XxController结尾l每个Controller都对应View中的一个文件夹,文件夹的名称跟Controller名相同lController中的方法名都对应一个View(非必须,但是建议这么做)而且View的名字跟Action的名字相同高级软件人才实作培训专家高级软件人才实作培训专家开发流程(转变)l新建Controllerl创建Ac
5、tionl根据Action创建Viewl在Action获取数据并生产ActionResult传递给View。lView是显示数据的模板lurl请求Controller.Action处理View响应高级软件人才实作培训专家高级软件人才实作培训专家练习-熟悉M、V、C l新建一个Mvc项目(项目名称:MVCDemo)l熟悉项目中文件的作用l新建一个Controller名字为CustomController,并添加index方法lView中新建一个Custom文件夹,并创建index视图l在创建的index方法中传递数据到view并显示高级软件人才实作培训专家高级软件人才实作培训专家Asp.Net
6、MVC组件之间的关系lView和Controller都可以直接请求Model但是Model不依赖View和controllerlController可以直接请求View来显示具体页面View不依赖Controllerl其实:View可以通过另外的方式来请求Controller高级软件人才实作培训专家高级软件人才实作培训专家深入讲解Modell包括数据、验证规则、数据访问和业务逻辑等应用程序信息它是我们Web应用的主框架lModel调用的是我们的业务逻辑层l再次强调:Model是独立的组件,它并不知道View的存在,更不知道Controller的存在。这两个分离的理解很重要!高级软件人才实作培训
7、专家高级软件人才实作培训专家深入讲解ModellModel包括数据,对数据的操作l与Model相关的设计方式企业级项目的架构方式实例(演示)高级软件人才实作培训专家高级软件人才实作培训专家深入讲解Viewl注意:view是负责输出显示数据,而非样式lView中的弱类型ViewData“”lView中的强类型ViewData.ModellHtml.Encode=lHtml.Helper类lHtml.Helper扩展l客户端验证lMVC中智能提示怎么来的!高级软件人才实作培训专家高级软件人才实作培训专家弱类型ViewData“”l例如:例如:Controller中代码如下中代码如下l在前台在前台V
8、iew中使用:中使用:高级软件人才实作培训专家高级软件人才实作培训专家View中的强类型ViewDataModell在Controller中代码如下:l在view前台使用代码如下:高级软件人才实作培训专家高级软件人才实作培训专家Html.Encodel相当于l推荐大家使用,方便简洁高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类l支持强类型(1):Html.xxFor高级软件人才实作培训专家高级软件人才实作培训专家实例l在model中创建Techer类l演示以弱类型方式将实体类展现到Viewl演示以强类型方式将实体类展现到Viewl强类型的实质:在aspx页面的最上方加
9、入的指令:%Page Language=C#Inherits=System.Web.Mvc.ViewPageIEnumerable%红色部分就是红色部分就是ViewPage属性:属性:Model的具体类型,如果不指定具体的类型,的具体类型,如果不指定具体的类型,则为则为dynamic高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类l强类型(2):Html.xx(“”)l高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类DropDownListlvaritems=newList()ll(newSelectListItem()Text=001,Valu
10、e=1,Selected=false),l(newSelectListItem()Text=002,Value=2,Selected=false)l;l将items值给ViewData:lViewDataitems=items;ll在aspx中这样使用:lll生成的代码中,items将作为标签的name和id值。高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类CheckBox&RadioButtonl在Controller获取提交的值为(true,false)未操作true选择false不选择三种lRadioButton第一个参数为控件名字(名字相同说明为同一个Grou
11、p),返回值为第二个参数(红色部分)BluePurpleRedOrangeYellowBrownGreen高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类RenderPartialll这个方法通过接受用户控件的文件名以及相应的可变化的数据进行用户控件的呈现l可重用用户控件用户控件 显示到具体的页面中高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类RenderAction代码实例:%Html.RenderAction(x=x.ControllerAction();%优点:l让控制器做它该做的事情:组织逻辑及与业务逻辑之间的通信。l将实际使用的视图/
12、用户控件抽象出来,便于未来的重构。l将控制器中的业务逻辑抽象出来,这也让你的业务逻辑可以专心做它该做的事。l使用lambda表达式,强类型高级软件人才实作培训专家高级软件人才实作培训专家Html.Helper类Forml方式一:l方式二:BeginEnd高级软件人才实作培训专家高级软件人才实作培训专家HtmlHelper扩展方法l扩展方法:1.方法所在的类必须是静态的2.方法也必须是静态的3.方法的第一个参数必须是你要扩展的那个类型,比如你要给int扩展一个方法,那么第一个参数就必须是int。4.在第一个参数前面还需要有一个this关键字。l在MVC中扩展HtmlHelper后,要在使用扩展方
13、法的页面上引用扩展方法所在的名称空间例如:高级软件人才实作培训专家高级软件人才实作培训专家MVC客户端验证l要使用客户端验证,必须引入JS脚本支持MicrosoftAjax.jsMicrosoftMvcValidation.jsl添加语句l.NET框架中的System.ComponentModel.DataAnnotations命名空间包括了众多可为你所用的内置验证特性,介绍用的最多的其中的四个:Required,StringLength,Range,和RegularExpression。l定义自己的定制验证特性,然后应用它们。你可以通过继承自System.ComponentModel.Dat
14、aAnnotations命名空间中的ValidationAttribute基类,定义完全定制的特性。高级软件人才实作培训专家高级软件人才实作培训专家自动生成实体类的验证l将额外的基于特性的元数据(象验证特性)施加到由VS设计器自动生成/维护的类的一个方法是,采用一个我们称之为“伙伴类(buddyclasses)”的技术。基本上来说,你创建另外一个类,包含你的验证特性和元数据,然后通过将“MetadataType”特性施加到一个与工具生成的类一起编译的partial类上,将其与由设计器生成的类连接起来。例如,如果我们想要将我们前面用到的验证规则施加到由LINQtoSQL或ADO.NETEF设计器
15、维护的Person类上,我们可以更新我们的验证代码,使其存在于一个单独的“Person_Validation”类上l举例应用高级软件人才实作培训专家高级软件人才实作培训专家练习l练习Htmlhelper的控件的使用lActionLink超级链接lBeginFormform提交lCheckBox多选框lDropDownList下来列表框lHidden隐藏域lListBox列表lPassword密码框lRadioButton单选lTextArea文本域lTextBox文本框高级软件人才实作培训专家高级软件人才实作培训专家深入讲解Routingl在项目中我们引用了System.Web.Routing
16、l微软将此项目单独出来,并没有开源代码lRouting的作用:确定Controller确定Action确定其他参数根据识别出来的数据,将请求传递给Controller和Action.高级软件人才实作培训专家高级软件人才实作培训专家深入讲解RoutinglMVC项目是URL请求驱动l为什么访问localhost/home/index会传递给HomeController中名为index的action(即HomeController类中的index方法)?怎么实现的呢?高级软件人才实作培训专家高级软件人才实作培训专家深入讲解RoutinglGlobal.asax.cs文件中定义了路由的识别规则Rou
17、tes.MapRoute(Default,/路由名称路由名称 controller/action/id,/带有参数的带有参数的URL new controller=Home,action=Index,id=UrlParameter.Optional /参数默认值参数默认值 );l我们的Url:localhost/home/indexllocalhost是域名,所以首先要去掉域名部分:home/indexl对应了上面代码中的这种URL结构:controller/action/idl因为我们建立了这种Url结构的识别规则,所以能够识别出Controller是home,action是index,id
18、没有则为默认值.高级软件人才实作培训专家高级软件人才实作培训专家Url路由实例讲解l对于一个网站,为了SEO友好,一个网址的URL层次不要超过三层:llocalhost/频道频道/具体网页具体网页l其中域名第一层,频道第二层,那么最后的网页就只剩下最后一层了.如果使用默认实例中的controller/action/其他参数的形式会影响网站的SEO.高级软件人才实作培训专家高级软件人才实作培训专家Url路由实例讲解l#region酒店频道部分/hotels/list-beijing-100,200-3routes.MapRoute(酒店列表页,hotels/action-city-price-s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精品 【精品】Asp.Net MVC2.0从入门到精通精品ppt课件 Asp Net MVC2 入门 精通 ppt 课件
限制150内