在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
第一章:ASP.NET介绍1.搭建ASP.NET开发环境;2.理解ASP.NET运行机制;3.掌握ASP.NET两种编码方式。 4.Http协议。 关键点: 1.BS的工作原理是什么?
2.服务器端开发技术有哪些? Asp 、aspx、jsp、php 3.ASP.NET发展史。
4.ASP.NET的特色和优。 浏览器无关性、易于调试、运行效率高。 代码逻辑分明(页面显示.aspx文件,业务逻辑.cs文件)
注(msIL或IL是.net框架中间语言缩写)JIT(Just-in-time compiler)即时编译器 5.创建一个ASP.NET程序【创建网站、编写页面、调试运行】。 6.解决方案组成。 7.搭建开发环境[IIS]。 8.ASP.NET程序的发布。 9.asp.net运行机制。
10.ASP.NET页面的结构。 11.Page指令。 Page指令定义了页面用于编译和解析的属性 ,每个aspx页面只能有一个Page指令。 第二章:页面访问控制1.掌握Request和Response对象的使用;2.掌握Session对象的使用;3.掌握Cookie对象的使用。4.了解Application对象。关键点: 1.HttpRequest对象封装客户端请求页面或提交表单时提供信息; 2.Request对象常用属性和方法
3.ReSponse对象常用属性和方法[ContentType、Write()、Redirect()、End()]。
4.状态管理【Cookie存储于客户端、Session存储于服务器、Application应用程序级别的状态保持】。
Cookie特征 :存储少量数据,存储在客户端,安全性差,只能存储字符串。
Session特点: 位置:保存在服务器端,安全性高;类型:任意;Session保存的信息不与其他用户共享; 在用户会话期间可以记录和监事用户信息;当会话过期或终止时服务器会清除Session对象。
Application
Application特点:位置:服务器内存,执行速度快;使用范围:整个应用程序;类型:任意;生命周期:从应用程序创建到销毁。 第三章:表单和数据验证1.会使用控件完成页面表单设计。2.掌握常用第三方控件的使用。3.会使用Page对象注册脚本。4.掌握验证控件的使用。关键点:
6.有效性验证控制【RequiredFieldValidator非空验证、CompareValidato用于比较控件的值、RangeValidator用于范围验证。RegularExpressionValidator正则表达式进行验证的控件、CustomValidator自定义验证、ValidationSummary验证报告控件】。
邮箱验证表达式:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
第四章:搭建风格统一的Web站点1.会使用母板页搭页面框架。2.会使用导航控件完成导航功能。3.能使用XML、手动编码添加节点来控制树形导航。关键技术点: 1.母版页的特别及母版页的创建步骤。 2.获取母版页上控件的值【两种方式:通过设置属性、使用FindControl()方法】。 3.web.sitemap、SiteMapPath控件。 4.TreeView控件 第五章:系统架构搭建1.理解三层架构在ASP.NET中的应用。关键点: 1.三层架构中,各层的含议是什么?。【表示层、业务逻辑层、数据访问层】 2.ASP.NET搭建三层架构步骤。 3.三层架构的优势【适应变化、利于维护、适用于协作开、主流趋势】。 4.数据库中有主外键关系,模型层如何表示【两种方式:1.为实体添加外键ID;2.为实体添加对象属性。】 第六章:数据绑定与GridView1.掌握数据绑定。2.掌握DropDownList控件的使用。3.掌握使用GridView控件完成数据的显示功能。关键点: 1、数据源控件【SqlDataSource、AccessDataSource、XmlDataSource、SiteMapDataSource】 2.后台绑定数据源。 3.常用的数据绑定控件【DropDownList、GridView、DetailsView】。 4.DropDowList的常用属性和方法。
光棒效果
多选效果
6.Eval()方法和Bind()方法的区别。7.Commandname设置自定义命令。 第七章:GridView深入1.掌握获取GridView单元格数据。2.掌握GridView基于单元格的更新。3.掌握GridView常用事件处理。4.掌握GridView中的数据删除。关键点:
5.RowEditing事件【GridViewEditEventArgs对象属性NewEditIndex、Cancel】。 5.HiddenField控件。
单选删除
自定义删除
多选删除
备注,GridView实例大全 1. 在Gridview中无须编写后台代码,直接实现增除删改
2. 在Gridview中添加新记录
3:在Gridview中实现编辑和更新操作
4:在Gridview中实现一次性更新所有记录
5:在Gridview中固定表头的实现
6:在Gridview中合并单元格的实现
7:在Gridview中将数据操作结果显示在Footer中
8:在Gridview中添加表头
9:在Gridview中将数据导出
10:在Gridview中实现数据导入
11:在Gridview中实现嵌套功能
12:在Gridview中实现多层嵌套
13:在Gridview中实现排序
14:在Gridview中实现分页
15:Gridivew结合CheckBox控件的使用
16:Gridview结合DropDownList控件的使用
17:Gridview结合RadioButtom的使用
18:Gridview内嵌DropDownList控件
19:Gridview结合JS,在客户端结合CheckBox的使用
20:在Gridview中设置数据行的背景颜色
21:在Gridview中设置数据行的事件
22:在Gridview中设置数据行的其他属性
23:在Gridview中索引主键的使用
第八章:第三方控件的使用1.掌握第三方控件FCKeditor、JS版日历的使用。2.掌握ASP.NET控件FileUpload的使用。3.能编码实现详细信息页面的更新、插入操作。4.掌握Server对象的常用方法。关键点:
n 下载FCKeditor。要下载FCKeditor2.4.2.zip和FCKEditor.NET版本的2个zi包 说明:FCKeditor2.4.2.zip是其最新的JavaScript文件和图片。FCKeditory.NET.zip是ASP.NET调用的DLL在里面。 n 分别解压后把FCKeditory2.4.2.zip里面的fckeditor目录整个复制到项目中。 n 解压FCKeditor.NET.zip包后在FCKeditor.net_2.2\bin\Debug目录打到FredCK.FCKeditoryv2.dll。其它文件没用,把此dll文件复制到项目中的bin目录中。 n 引用FredCK.FCKeditorv2.dll. 第一步:
第二步:
n 导入到工具箱 在“工具箱”下右键
n 拖拽FCKeditor到页面上
n 配置WebConfig
说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。 UserFilesPath是所有上传的文件的所在目录。为什么要设置成/Files这样而不是~/Files,因为FCKeditor使用这个值来返回你上传后的文件的相对路径到客户端。否则的话客户访问的时候就会取客户的机器目录而不是http形式的目录。建议:Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。 n Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。
n 修改fckeditor/fckconfig.js文件
n 下面以上传图片示例说明如何使用
点“浏览服务”
弹出窗口很容易报错
如果报错XML request error: Internal Server Error(500),很可能就是目录路径不对和写权限没有。 选择图像
最后效果
l 下载最新的zip(My97DatePickerBeta.zip) l 解压后放到网站里面。
l 在页面中引出js
l 效果如下
第九章:DataList与Repeater控件1.掌握使用DataList控件显示数据。2.ViewSate。3.会使用Repeater控件精确显示内容。关键点:
第十章:web站点的配置与部署1.能够使用Web.config存储数据库连接。2.会使用站点管理工具设置站点配置。3.能使用Visual Studio站点发布工具发布Web站点。关键点: 1.ASP.NET的两种配置文件:maching.config、web.config。2.自写下义错误配置节点。3.调试和运行时的配置。4.身份验证和授权:身份验证方式:Windows、Passport、Form、None。5.授权:Allow允许;deny拒绝;特殊符号:“*”代表所有用户,“?”代表匿名用户。 第十一章:用户自定义控件1.掌握用户控件的创建、使用。2.掌握暴露用户控件的属性。3.掌握自定义控件的概念。4.了解服务器控件的生命周期人、呈现过程。5.会从服务器控件控件派生自定义控件。6.掌握在用户控件中使用的自定义事件。7.掌握自定义控件呈现页面的方法。8.掌握自定义控件呈现页面的方法。9.理解控件的视图状态和控件状态。关键点: 1.创建和使用用户控件的步聚。2.用户控件的关键代码@Control批指令。3.用户控件与页面的区别。4.什么是自定义控件【ASP.NET自定义控件(Custom Control)是编译的服务器端控件,它将用户界面和其它功能都封装到可复用的包中(dll),如验证码控件或FCKeditor】。5.事件的定义【定义事件消息、定义委托类型】。6.事件访问器。7.htmlTextWriter类。 第十二章:WebService。1.掌握Web Service的基本工作原理。2.理解Web Service的优势。3.掌握Web Service的开发和使用。关键点: 1.web Service是可互操作的分布式应用程序。 2.web Service使用Http和XMl进行通信。 3.Web Service可以穿越防火墙,真正实现自由通信。 4.通过Soap实现异地调用。 5.webSerivce的开发步骤 创建Web Service 一、 打开vs2013,选择文件->新建->项目。
二、 选择【ASP.Net空web应用程序】,将其命名为自己想的工程。
三、 然后右键点击工程,添加->web服务。然后命名为自己想要的服务名称。
四、 在asmx文件中写出自己想要开放的WebService方法。
五、 方法写完后,右击项目->发布
选择【文件系统】发布,选择发布的物理地址,点击【发布】即可
在发布的物理地址中会有这几个文件。
打开IIS,右键点击网站->新建网站
选择网站名称 ,刚刚发布的物理地址,还有发布的IP和端口,先后点完成。
然后网站就完成了。
、发布WebService、调用WebService】 第十三章Asp.Net Http管道第十四章:Ajax1.什么是ajax。2.ajax的工作原理。3.ajax包含的技术。4.XMLHttpRequest对象。关键点:
第十五章:MVC模式1.准备工作l 为什么要学习ASP.NET MVC? l ASP.NET MVC学习路线:要有c#、ADO.NET、html、javascript、ASP.Net WebForm的基础。项目中实际用三层架构、ORM等访问数据库,但是这次的重点不是这些,因此我们使用SQLHelper。 l 讲课使用Chrome浏览器,不考虑浏览器兼容性问题。 l 使用Visual Studio 2013、.Net 4.5、 MS SQLServer2005及以上版本。
2.课程安排l MVC设计模式 l Razor引擎 l 控制器详解 l 校验 l MVC下的Ajax l 路由 l 过滤器 l MVC高级 3.MVC模式简介l MVC模式两种理解:一种是表现模式,另外一种是架构模式。它将应用程序分成三个主要组件即:视图(View)控件器(Controller)模型(Model) l M: Model主要是存储或者是处理数据的组件,Model其实是实现业务逻辑层对实体类相应数据库操作,如CRUD(create/read/update/delete)。它包括数据、验证规则、数据访问和业务逻辑等应用程序信息。ViewModel:视图模型。V:View是用户接口层组件。主要是将Model中的数据展示给用户。ASPX和ASCX文件被用来处理视图的职责。C:Controller处理用户交互,从model中获取数据并将数据传给指定的View 4.MVC架构模式
5.ASP.Net的两种开发方式l WebForm的开发方式 服务器端控件 l ASP.Net MVC的开发方式
6WebForm VS MVC
7.WebForm请求模型
8.Asp.Net MVC请求
9.借用WebFrom理解MVCl 新建WebFrom项目 l Label的例子:耦合在一块 l 在page类中添加一个List l 在前台用for循环遍历显示list l 分层思想 l WebFromCodebehind伪分离还是继承关系 l MVC 代码和页面彻底分离,控制器和视图都是分别单独的类型。耦合度最低 10.Asp.Net MVC第一个程序l 新建一个MVC项目 l 认识Web项目中的Controller l 认识Web项目中的View l 认识Web项目中的Model l 创建一个控制器HomeController,添加一个ShowDemo的方法,然后在方法中往视图传递一个字符串。在ShowDemo方法上创建视图,并在页面中展示字符串内容。 11.控制器的约定大于配置l Controller放到controllers文件夹中,并且命名方式以Controller结尾。 l 每个Controller都对应View中的一个文件夹,文件夹的名称跟Controller名称相同。 l Controller中的方法名都对应一个View视图(非必须,但是建议这么做)而且View的名字跟Action的名字相同。 l 控制器必须是非静态类,并且要实现IController接口。 l Controller类型可以放到其他项目中。 12.视图的相关约定l 所有的视图必须放到Views目录下。 l 不同控制器的视图用文件夹进行分割,每个控制器都对应一个视图目录。 l 一般视图名字跟控制器的Action相对应(非必须)。 l 多个控制器公共的视图到到Shared。 13.ViewData传递数据载体l ViewData是Controller的属性,此属性是继承ControllerBase而来。 l ViewPage下也有一个ViewData的一个属性。 l 控制器的Action方法执行完成后,返回ViewResult,然后MVC框架会执行ExcuteResult方法时,Controller中的ViewData数据传递给ViewPage类,其实就是把Controller的ViewData赋值给ViewPage页面的ViewData属性。 14.用户案例l 用户列表页面(创建数据、使用SqlHelper),加载用户列表数据到页面中。【三层、EntityFramework等不是本次课程的重点】 l 用户注册页面。(校验后面再补充) l 目地:熟悉MVC开发的方式、MVC下的请求处理响应的模型 15.HtmlHelper详解l 在ASP.Net MVC中微软并没有提供类似服务器端控件那种开发方式式,毕竟微软的MVC就是传统的请求处理响应的回归。所以之前的那种事件响应的模型,抛弃服务器端控件也理所当然。但是如果手写Html标签效率又比较低,可重用度比较低。 l 微软为开发人员快速开发前台页面提供了丰富的HtmlHelper的辅助类,辅助我们快速开发前台页面,也提供了可扩展的接口,前台页面的标签可以可以做到高度可重用。 l HtmlHelper还继承了Model元数据的校验、ViewData和ViewBag数据绑定装配等自动化功能,也是非常实用的功能 l HtmlHelper还提供了强类型标标签更是在开发阶段就实现编译检测。提高了编码的效率。 l HtmlHelper还提供了模板编辑功能、页面嵌套等功能,后面一一介绍。 16.HtmlHelper的演变。l 在MVC中所有的请求都归结到控制器下面的Action。所以所有的请求都是要指定一个具体的Action,Url的格式是根据路由规则来定的。比如,默认路由规则中定义请求的地址的格式:{Controller}/{Action}/{id},则请求的url地址应该是:http://localhost/Home/Index/1 l 我们可以看到请求的地址不再跟WebForm中的请求地址就是页面的相对路径。而在MVC中请求的地址是一个逻辑地址,而不是物理的路径 l 在页面中添加超级链接的时候href属性就有了变化性。也就是当路由规则发生变化的时候,href属性也必须跟着变化。 l 屏蔽路由规则的变化对a标签等产生的影响,MVC给我们提供了Url.Action()方法。但是依然非常笨重。 l 最完美的解决办法就是:HtmlHelper.Action() 17.HtmlHelper各种方法介绍l ActionLink
生成结果:
l RouteLink
生成结果:
l Form
l TextBox,Hidden
l TextArea
l CheckBox
l DropDownList dropDownList与TextBox等控件不同,它使用的是select标记。它需要两个值:在下拉列表框中现实的列表,和默认选项。而自动绑定一次只能绑定一个属性,因此您需要根据要选择是绑定列表,还是默认选项。 DropDownList扩展方法的各个重载版本“基本上”都会传递到这个方法上:
如果没有指定selectList,改方法将自动绑定列表,即从ViewData中查找name所对应的值。如果提供了selectlist,将自动绑定默认选项,即从selectList中找到Selected属性为true的selectedListItem 例1:如果在Action方法中有如下代码:
那么辅助方法将率先从ViewData中获取key为list的项,如果该项为IEnumerable<SelectedListIItem>类型则绑定到下拉列表框中,否则将抛出InvalidOperationException。异常,由于第二个SelectListItem的Selected为true,则默认选中第二个。 例2:如果Action中代码如下:
那么辅助方法将ViewData[“list”]绑定为下拉框,然后从ViewData中获取key为selected的项,并将下拉list中Value值与该项的值相等的SelectListItem设为默认选中项。 以上两种方法尽管可以实现DropDownList的正确显示,但是并非最佳实践。在实际项目中,我们更希望在代码中使用强类型,例如上面例子中,SelectListItem的Text和Value本来就是User对象的Name和Age属性,然而上面的代码却丝毫体现不出这种对应关系。如果User列表是从数据库或其他外部资源中获得的,我们难道还要用这种方式来绑定吗?
这显然是我们所无法容忍的。那么什么是最佳实践呢? ASP.NET MVC为DropDownList和ListBox(都在html中使用select标记)准备了一个辅助类型:SelectList。SelectList继承自MultiSelectList,而后者实现了IEnumerable<SelectListItem>。也就是说,SelectList可以直接作为Html.DropDownList方法的第二个参数。 MultiSelectList包含四个属性,分别为:
显然,作为DropDownList来说,选中项不可能为IEnumerable,因此SelectList提供了一个新的属性:
同时,SelectList的构造函数如下所示:
于是我们的代码变为:
20.Html.Encode
21.HtmlHelper扩展l 扩展方法的三个要素:静态类、静态方法、this关键字 l 案例:扩展自定义标签 l 解决返回的标签被HtmlEncode的问题
22.案例:用户删除和修改l 实现用户的删除 l 在列表页面添加一个修改列 l 实现点击修改链接页面跳转的修改详情页面 l 实现修改页面逻辑 l 体会双向数据装配:控制器的Action在执行之前会自动把请求中数据装配到Action的方法参数里面去或者是参数的属性里面去。控制器往视图传递的数据会自动装配到页面的HtmlHelper生成的控制上去。 23.双向数据的装配l 控制通过ViewData容器把数据传递到View之后,View在渲染Html标签的时候会自动从ViewData中获取数据进行填充标签。 l 表单提交到控制器的时候,执行控制器的Action之前会自动将表单中的内容填充到方法的参数或者参数的属性面去。 l 案例:用户注册 24.Razor引擎简介l 在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor。Razor在减少代码冗余、增加代码可读性和vs智能感知方面,都有着突出的优势。Razor一经推出就深受所有Asp.Net开发者的喜爱。
25.Razor引擎语法l Razor文件类型:Razor支持两种文件类型,分别是.cshtml和.vbhtml,其中.csHtml的服务器代码使用了C#的语法,.vbhtml的服务器代码使用了vb.net的语法。 l @字符是Razor中的一个重要符号,它被定义为Razor服务器代码块的开始符号 l 案例:在页面中输出当前日期 <span>@DataTime.Now.Tostring(“yyyy-MM-hh”)</span> 26. Razor语句块l 可以使用@{code}来定义一段代码块。 l RaZor支持代码混写。在代码块中插入Html、在Html中插入Razor语句都是可以的。 l 案例:For循环嵌套输出html标签
27.Razor页面上输出特殊字符串l 输出原生的字符串:@Html.Raw(html) l 例如:@Html.Raw(“<h2>Razor</h2>”) l HtmlString类型和MvcHtmlString类型字符串输出 l 例如:IHtmlString html=new HtmlString("<font color='red'>文本</font>");
28.Razor引擎的注释l C#代码块可以C#自带的注释符合:// 、/**/等 l Razor服务器端注释为:@* 注释内容 *@ 。 29.Razor引擎的转换数据类型
30. CKEditor在asp.net mvc中的使用:l 下载CKEditor http://ckeditor.com/download l 把解压后的目录拷贝到Content目录中。
l ckEditor在asp.net mvc中的使用就相当简单了,只需要在脚本中执行CKEDITOR.replace(id);id 为你需要拥有编辑功能的textarea的id View:
Controller:
这里要注意[ValidateInput(false)]特性,它的目的是防止在提交时报“检测到有潜在危险的客户端输入值”。 l 运行后的效果图如下:
31.控制器详解l 控制器的约定:必须实现IController接口、必须以Controller为结尾、必须非静态类。 l 在Action中可以访问HttpContext中所有的相关数据:比如Session、Cookie、也可以设置响应总之跟WebForm中Page类能做的,在Action中都能做。 l 控制器的Action的各种返回值。
32.深入讲解Controllerl 职责 :Controller负责将获取Model数据并将Model传递给View对象,通知View对象显示。 l 一个Controller可以包含多个Action。每一个Action都是一个方法,返回一个ActionResult实例。 l 一个Controller对应一个XXController.cs控制文件,对应在View中有一个XX文件夹。一般情况一个Action对应一个Aspx页面。 33.深入讲解Routingl 在项目中我们引用了System.web.Routing。 l 微软将此项目单独出来,并没有开源代码。 l Routing的作用:确定Controller 、确定Action 、确定其他参数、根据识别出来的数据,将请求传递给Controller和Action。 l MVC项目是URL请求驱动。 l 为什么访问localhost/Home/Index会传递给HomeController中名为index的action(即HomeController类中的index方法)?怎么实现的呢? l Global.asax.cs文件中定义了路由的识别规则
l 我们的URL:localhost/home/index l Localhost是域名,所以首先要去掉域名部分:home/index。 l 对应了上面代码中的这种URL结构:{controller}/{action}/{id} l 因为我们建立了这种URl结构的识别规则,所以能够识别出Controller是home,action是index,Id没有则为默认值””。 MapRoute()方法
l MapRout参数介绍 Name参数:规则名称,可以随意起名,不可以重名,否则会发生错误:路集合中已经存在名为“Default”的路由。路由名必须是唯一的。 url参数:url
|
请发表评论