静态网页设计教程.ppt

上传人:文库蛋蛋多 文档编号:2869271 上传时间:2023-02-27 格式:PPT 页数:260 大小:8.10MB
返回 下载 相关 举报
静态网页设计教程.ppt_第1页
第1页 / 共260页
静态网页设计教程.ppt_第2页
第2页 / 共260页
静态网页设计教程.ppt_第3页
第3页 / 共260页
静态网页设计教程.ppt_第4页
第4页 / 共260页
静态网页设计教程.ppt_第5页
第5页 / 共260页
点击查看更多>>
资源描述

《静态网页设计教程.ppt》由会员分享,可在线阅读,更多相关《静态网页设计教程.ppt(260页珍藏版)》请在三一办公上搜索。

1、静态网页设计教程,教学内容,学习情境一:搭建开发环境学习情境二:系统对象与状态管理学习情境三:站点导航控件与母版页学习情境四:搭建系统框架学习情境五:数据绑定与显示学习情境六:数据录入与验证学习情境七:数据更新于编辑学习情境八:常用第三方工具与控件学习情境九:用户控件与HTTPHANDLER学习情境十:网站部署与定制,学习情境一,搭建开发环境,课程地位,就业技能结构图,本门课程目标,学完本门课程后,你能够:熟练使用Visual Studio开发环境开发ASP.NET应用程序完成常见的数据操作任务运用ASP.NET开发商业站点,课程项目展示,网上书店演示,图书列表,数字水印,课程项目展示,RSS

2、发布新书列表,预习检查,创建 ASP.NET页面时,自动生成了哪几个文件?使用ASP.NET做开发,是否一定要安装IIS?,本章任务,初识ASP.NET制作第一个ASP.NET页面显示学员信息列表,本章目标,掌握简单 ASP.NET 程序的开发步骤掌握 ASP.NET控件+事件的开发方式会使用Label、TextBox、Button等简单的控件,B/S概念回顾,B/S 与 C/S 相比各有何优缺点?B/S 的典型应用场景有哪些?,ASP.NET的特色与优势4-1,与浏览器无关方便设置断点,易于调试编译后执行,运行效率高丰富的控件库代码后置,逻辑分明,ASP.NET的特色与优势4-2,编译后执行

3、,运行效率高,_,代码,编译,Microsoft 中间语言(MSIL 或 IL),JIT 编译器,机器语言,分别编译 IL 的每一部分,ASP.NET的特色与优势4-3,丰富的控件库内置80多种控件统计表明,采用新控件方式的编码,至少比早期减少70%的代码量,使用纯 JavaScript 脚本方式编写树形目录需要大量编码而使用TreeView导航控件,无需编写一行代码即可完成,ASP.NET的特色与优势4-4,代码后置,将业务逻辑代码与显示逻辑分开,ASPX 页面,页面显示.aspx页面,业务逻辑.cs文件,程序员,页面设计人员,成功案例5-1,因为 ASP.NET 具有诸多优势,越来越多的企

4、业开始采用ASP.NET技术构建它们的网络应用系统。戴尔电脑当当书店中华英才网微软官方网站.,ASP.NET成功案例5-2,http:/,戴尔公司官方网站网站是戴尔电脑直销的最主要渠道之一每天有上千订单通过戴尔网站提交和处理,ASP.NET成功案例5-3,http:/,当当网全球最大的中文网上书店提供近百万种商品的在线销售,ASP.NET成功案例5-4,http:/,中华英才网网站日均浏览量超过1900万拥有超过1360万个人注册用户拥有超过1250万份有效简历累计超过140万家企业注册会员每天提供超过160万个有效职位,ASP.NET成功案例5-5,http:/,微软公司官方网站,小结,列举

5、2-3条ASP.NET的特色和优势。为什么说ASP.NET应用程序运行效率高?,搭建开发环境,安装IIS并配置虚拟目录IIS 是基于 Windows系统的Web 服务器的ASP.NET应用程序的发布是基于IIS服务器的IIS类似JSP中使用的Tomcat,提供了更为强大的功能,视频:IIS安装和配置视频,注意事项,单击“添加/删除Windows组件”,确保“应用程序服务器”处于选中状态,开发服务器,在VS中,内置了轻量级的Web服务器Cassini无须配置IIS、设置相应权限,Cassini运行时在状态栏的显示,可以查看开发服务器的状态信息,第一个ASP.NET应用程序,时间提示页面在Visu

6、al Studio中新建一个网站设置站点位置拖入相关控件编写事件处理方法查看运行效果,演示示例:第一个ASP.NET应用程序,项目位置设置,新建网站时,可选择项目的位置,有多种选择,点击浏览可以更改项目位置,可视化的设计,双击Botton控件,到代码页,可以编写代码,与WinForms编程类似,点击“源”可看到HTML视图,与WinForms一样简单的控件+事件方式,基于控件+事件的编程,protected void btnOK_Click(object sender,EventArgs e)string greeting;switch(DateTime.Now.Hour).case 12:g

7、reeting=嘿,0同学,吃中午饭了!;break;.string message=string.Format(greeting,txtName.Text.Trim();lblMessage.Text=message;,Botton单击事件方法,通过Text属性直接获取控件值,无须像jsp中使用Get、Post等方式,查看解决方案组成,这是我们刚才页面的解决方案组成,存放数据的文件夹,自动创建的窗体文件,代码后置文件,站点配置文件,ASP.NET中,HTML代码和C#代码分别存储于不同的文件中,称作代码后置,编码方式,ASP.NET有两种编码方式:代码内嵌和代码后置代码内嵌,HTML代码和C

8、#代码交叉使用。,演示示例:代码内嵌展示,内嵌方式只有.aspx文件,体会ASP.NET的开发过程,显示学员信息创建ShowStudents.aspx页面。将学员信息表拖入页面设置显示字段和标头设置自动套用格式添加分页功能,设置每页显示10条信息,演示示例2:学员信息列表,关键步骤:将表拖入页面,拖入表时,自动出现相关信息,使用服务器资源管理器,打开学员信息数据库,将Student表拖入页面的设计窗口内,关键步骤:设置字段和标题,设置Columns,可编辑显示字段,HeaderText设置列标题显示的内容,关键步骤:套用风格,选择自动套用格式,多种格式可选,关键步骤:设置分页,AllowPag

9、ing置为True打开分页功能,PageSize属性设置每页的显示数目,小结,在后置代码中获取用户在TextBox中输入的内容,使用的是哪个属性?什么是代码后置?设置每页显示的条数,使用了哪个属性?,总结,ASP.NET的优势有哪些?画图描述ASP.NET工作原理。建立一个ASP.NET工程有哪些步骤?ASP.NET代码开发有哪两种模式?,学习情境二,系统对象与状态管理,回顾,什么是代码后置?JSP中状态保持有哪几种方式?JSP中Session的写法,预习检查,Session有什么用处?.aspx页面继承自哪个类?,本章任务,实现用户登录功能实现对用户浏览器的判断实现页面数据的传递,本章目标,

10、掌握页面间的数据传递技术能用Session对象记录用户登录状态等信息能使用Server对象查看客户端浏览器类型会使用Response 对象和Request对象控制页面的输入输出,运行机制,回顾JSP的运行机制客户端请求后台处理(类Servlet)返回客户端(HTML)ASP.NET的运行机制是什么呢?,ASP.NET运行机制,.aspx文件,解析,后台编码类,生成,第二个请求实例化,ASP.NET引擎,页面类,实例化,处理和显示,现象:第一次获取网页较慢,第二次获取较快,系统对象,JSP和ASP.NET中的常见系统对象对比。,注意:JSP和ASP.NET中对象的大小写不同,Page对象,每个.

11、aspx文件对应一个Page对象.aspx与后台代码类(局部类)合并生成页面类Page对象是页面类的实例所有的.aspx文件(Web窗体页)都继承自System.Web.UI.Page类,演示:新建页面,查看源视图,Page指令,指明页面代码和后置代码所使用的脚本语言,设置是否自动调用网页事件,默认为true,指定代码后置文件,该文件包含此页面的局部类,代码后置的类,局部类,Page指令定义了 ASP.NET 页用于编译和解析的属性。每个aspx页面只能有一个Page指令,页面输入输出控制,Request对象获得页面输入URL传参Form表单提交Response 对象在页面输出要显示的内容重定

12、向,Request对象,结合JSP,列举页面间传递数据的几种方式?如何获取传递过来的数据呢?,Request对象,ServerVariables 属性,Form 属性,Params 属性,QueryString属性,获取通过URL路径传来的数据,获取通过表单提交传输的数据,获取Web服务器变量的集合,以上三种方式传输的内容都可以使用该属性获取,Response 对象,Response 对象允许开发人员对当前页面的输出流进行操作,Response.对象,Redirect方法,Write方法,Response.Write(Hello,ACCP);,直接在页面上输出内容,重定向到另外一个页面,Res

13、ponse.Redirect(http:/);,综合示例,获取并打印浏览器的信息输出浏览器类型(IE/FireFox)输出相关版本信息输出客户端语言信息,Request.ServerVariablesHTTP_USER_AGENT;/获取浏览器及版本Request.ServerVariablesHTTP_ACCEPT_LANGUAGE;/获取浏览器语言,演示示例5:获取并打印浏览器信息,数据传递,JSP页面中,如何获取用户输入的信息?分两个页面进行处理,用户输入页面是一页,处理用户输入的又是另一个页面。提交给同一页面,通过特殊参数判断是回传的数据通过Get、Post方式或者URL传递需要发送服

14、务器的数据,页内数据传递,回发,ASP.NET Web页面,控件1,控件1,用户页面操作,Page.IsPostBack属性,回传,首次加载,true,false,如何判断回发和首次加载?,演示示例1:查询演示,关键代码:验证回传,IsPostBack常放置于Page_Load方法中用于首次加载页面时的初始化,protected void Page_Load(object sender,EventArgs e)if(Page.IsPostBack).,跨页数据传递,ASP.NETWeb页面1,ASP.NETWeb页面2,控件1,控件2,跨页传递,如何知道跨页发送并获取传过来的数据?,跨页数据传

15、递,IsCrossPagePostBack,指示跨页回发是否包含该页PreviousPage,获取向当前页面传输数据的页面,PreviousPage 属性,页面2,FindControl 方法,找到页面1的对象,根据控件名,获得控件对象,演示示例2:跨页数据传递,关键代码,发出提交的页面获取内容的页面,if(Page.PreviousPage!=null)if(PreviousPage.IsCrossPagePostBack=true)this.lblShowURL.Text=您的查询条件为:+(TextBox)this.PreviousPage.FindControl(txtKeyWord)

16、.Text;,通过PostBackUrl指定获取页,获取控件值,判断该页面的是否为其他页回传,小结,绘图描述ASP.NET中页面的编译过程。.aspx文件都继承自哪个类?ASP.NET2.0中,.aspx的类与对应的代码后置的类是什么关系?ASP.NET中,页内数据传递使用哪个属性判断回传或者首次加载?,状态管理,JSP中状态保持有哪几种方式?session、cookie等ASP.NET中状态保持,ASP.NET状态保持,Session,Cookie,Application,存储于服务器,存储于客户端,应用程序级别的状态保持,Session,Session用于什么场合?结合JSP中学过的知识,

17、我们知道Session保持当前用户状态信息常用于用户登录、购物车等,Session示例,第三波网上书店用户登录。用户输入用户名和密码检测用户名和密码是否输入合法登录成功时,在Session中保存用户对象。,演示示例3:第三波网上书店的登录,关键代码,登录代码索引器使用索引器,可以像数组一样处理Session对象,User user=new User();user.Id=0;user.UserName=txtloginId.Text;user.PassWord=txtLoginPwd.Text;SessionUser=user;,Session的名称,要存储的对象,JSP中session.set

18、Attribute(username,username),Cookie演示,Cookie方式记录用户最后登录时间当用户登录时,记录用户的登录时间用户下次登录时,显示用户上次登录时间,演示示例4:增加Cookie的书店登录,关键代码,写入Cookie代码读取Cookie代码,HttpCookie hcCookie=new HttpCookie(UserName,“张三);Response.Cookies.Add(hcCookie);,string UserName=Request.CookiesUserName.Value;,添加新的Cookie,Application对象,Applicatio

19、n对象可以存储应用程序级的数据。“Application”:应用程序第一个用户访问站点时,应用程序启动,并创建一个Application对象。创建成功后,整个应用程序中都可以使用该对象。除非应用程序关闭,否则对象一直存储在内存中。,Application对象对应HttpApplication类,它定义 ASP.NET 应用程序中的所有应用程序对象通用的方法、属性和事件。,小结,请分别书写Session方式和Cookie方式保存用户登录状态的代码。保存当前用户登录时间保存登录用户名编写读取Cookie中内容的代码,Server 对象,Server对象是HttpServerUtility的一个实例

20、,它提供对服务器上的方法和属性的访问。,Server对象,HtmlEncode方法和HtmlDecode方法,Execute 方法和 Transfer 方法,UrlEncode方法和UrlDecode方法,MapPath方法,取得文件的物理路径,执行另一个页面的脚本,将文本编码成可以在浏览器中可正确浏览的格式,URL编码和解码,类似与JSP中的URLEncoder.encode,综合示例,修改欢迎页当用户未登录时转到登录页面登录成功后转回欢迎页在欢迎页面显示用户的信息根据用户浏览器的语言,给予不同语言的欢迎辞(如:中文用“您好,!”,其他用“HELLO,.!”。),演示示例6:新的欢迎页面,总

21、结,如果要显示在线人数,想想怎么做?提示:在每次用户请求时记录人数,保存在什么位置比较合适?简述ASP.NET中状态保持的三种方式,并说明适用范围?,学习情境四,搭建系统框架,回顾2-1,三层结构都有哪三层?上一章里我们学习了哪三种导航控件?,回顾2-2,string sql=SELECT SubjectName FROM Subject;SqlCommand command=new SqlCommand(sql,DBHelper.connection);DBHelper.connection.Open();SqlDataReader dataReader=command.ExecuteRea

22、der();while(dataReader.Read()cboSubject.Items.Add(dataReaderSubjectName.ToString();,未关闭 ReaderdataReader.Close();,未关闭连接 DBHelper.connection.Close();DBHelper.connection.Dispose();,预习检查,模型层有哪些内容?数据访问层一般写哪些方法?,本章任务,搭建网上书店的架构实现书店的用户登录,本章目标,会在 ASP.NET 中使用三层结构。能够实现三层结构下的用户注册和登录。,系统架构,三层结构表示层业务逻辑层数据访问层,分层的

23、理念:将相似的内容放到一起去处理,开发人员可以只关注整个结构中的其中某一层,可以很容易的用新的实现来替换原有层次的实现,三层结构的经典案例:PetShop,PetShop4.0,宠物商店微软展示.NET企业开发的范例。与Sun的PetStore的商业竞争。一个小型的电子商务案例。体现了微软推广的开发思想和设计理念。分22个项目,经典的系统,从设计的思想到最好的编码,学习参考价值很高。,演示:PetShop4.0,PetShop4.0架构简介,ASP.NET Web,BLL,DALFactory,OracleDAL,SQLServerDAL,IDAL,Model,表示层,业务层,数据层,典型的三

24、层结构,搭建第三波网络书店的模型层,模型层表示层需要访问实体对象的属性值。业务层需要通过实体对象处理业务逻辑。数据层也需要通过实体对象读写数据库。模型是数据载体。命名项目名:MyBookShopModels命名空间:MyBookShop.Models类名:图书表Books图书类Book实体类通常冠以Serializable特性,以保证实体传输的可靠性,外键的处理,数据库中有主外键关系,模型层怎么表示?比如用户表和状态表。状态字段是用户表的外键。两种方式:为实体类添加状态id属性,存储状态id。为实体类添加状态属性,存储状态对象。,示例,用户类的模型用户需要有登录名、密码、状态等属性状态表存储状

25、态名称用户的状态属性使用状态对象,public UserState UserStateget return this.userState;set this.userState=value;,处理外键的代码,Serializable()public class User/字段public User()/构造函数/常见属性public UserState UserState/用户状态-外键get return this.userState;set this.userState=value;,小结,编写实体类UserRole并更新User类相关属性类关系图如下,答案:UserRole类,数据访问层,

26、数据访问层所有与数据库交互的操作数据表的增、删、查、改操作数据访问层不做逻辑判断命名项目名:MyBookShopDAL命名空间:MyBookShop.DAL类名:图书表Books图书数据访问类BookService,代码比较,比较两段代码 代码1 代码2 在每一个对象的数据库访问类中:数据库连接反复出现数据库连接打开和关闭反复出现执行Sql语句的方法相似返回记录集的方法相似,根据面向对象思想,是否可以减少这些重复劳动?,DBHelper类,我们将常用方法提取出来,作为DBHelper类该类包含了:,建立数据库连接,执行Sql的方法(存储过程sql语句),返回记录集,返回Reader,返回结果,

27、创建数据访问层的类,创建UserService类Create方法Retrieve方法Update方法Delete方法,bool AddUser(User user),IList GetAllUsers()User GetUserById(int id)IList GetUsersBySql(string sql),bool DeleteUserById(int id),bool UpdateUser(User user),增加一个用户的方法,public static bool AddUser(User user)string sql=INSERT USERS(loginid,loginpwd

28、,name,address,phone,mail,userroleId,UserStateId)+VALUES(LoginId,LoginPwd,Name,Address,Phone,Mail,RoleId,UserStateId);SqlParameter para=new SqlParameter new SqlParameter(LoginId,user.LoginId),;DBHelper.ExecuteCommand(sql,para);return true;,组合SQL语句,参数赋值,调用DBHelper类中的方法进行处理,小结,模型层为什么要标记为可序列化?模型层的作用?数据访

29、问层的功能?编写User的数据访问类的查、改、删方法。,示例:User的数据库访问类,业务逻辑层,业务逻辑层是表示层与数据访问层的桥梁,负责逻辑的判断,业务处理、数据传递。不在表示层访问数据库,数据更加安全。命名项目名:MyBookShopBLL命名空间:MyBookShop.BLL类名:图书表Books图书业务逻辑层类BookManager,用户登录的业务逻辑方法,public static bool Login(string loginId,string loginPwd,out User validUser)User user=UserService.GetUserByLoginId(l

30、oginId);if(user=null)validUser=null;return false;if(user.LoginPwd=loginPwd)validUser=user;return true;else validUser=null;/密码错误 return false;,表示层,表示层的设计给客户最直接的体验。页面风格和布局,美观大方。页面操作符合逻辑,讲究用户体验。注意风格统一。,表示层负责内容的展现和与用户的交互。可以进行变量范围的验证。不做业务逻辑判断。不做与数据库交互的处理。,用户管理模块,首先根据数据库创建模型层。包括用户的实体类以及相关联的类。创建数据访问层用户管理类。

31、包括增删查改方法。设计相关页面,并编写事件代码。新用户注册。用户登录。用户信息修改。创建业务逻辑层处理类。根据需要,添加相关方法。,示例1,用户登录创建页面。编写事件处理代码,包括验证输入。创建业务逻辑层方法,调用数据访问层相关方法处理。,演示示例:用户登录,用户注册的确认事件代码,User user=new User();user.LoginId=this.txtLoginId.Text;user.UserState=new UserState();user.UserState.Id=1;if(UserManager.AddUser(user)this.ltMain.Text=alert(注

32、册成功!请继续购物);window.location=./default.aspx;elsethis.ltMain.Text=alert(用户名已使用!请重新选择!);,实例化User类,对类相关属性进行赋值,默认值,硬编码,业务层进行相关判断和处理,弹出脚本提示小技巧:在控件上输出脚本,小结,编写图书模块相关实体类和数据层、业务层的类。图书有id、作者、标题、分类、出版社、描述、ISBN(简化)。出版社有id、名称。分类有id、名称。编写图书、出版社、分类的实体类。编写图书的数据层增删查改方法。编写图书业务层的查询所有的方法。,演示示例:图书模块相关类,总结,数据访问层常见的方法有哪几种?页

33、面要显示一个表的内容,可否直接使用ADO.NET连接数据库,为什么?业务逻辑层的方法来自哪部分的需求?,学习情境五,数据绑定与显示,回顾2-1,TreeView控件绑定数据的方式是什么?指定DataSourceID 数据访问层有哪四类常见方法?C、R、U、D在ASP.NET中调用客户端脚本,有哪几种方法?注册客户端脚本页面输出脚本控件的Text中输出脚本,下面是注册用户的部分代码,检查有什么问题。,回顾2-2,User user=new User();user.LoginId=this.txtLoginId.Text;user.LoginPwd=this.txtLoginPwd.Text;if

34、(UserManager.LoginIdExists(user.LoginId)this.Page.ClientScript.RegisterStartupScript(this.GetType(),alert(用户名或者密码错误!););UserManager.AddUser(user);,此处应该使用单引号,预习检查,GridView控件有哪两种数据绑定方式?有哪几种数据源控件?,本章任务,完成书籍分类维护模块图书列表分页可多选,实现多个图书分类的调整高亮显示鼠标所在行(光棒效果)图书详细显示页面,本章目标,能熟练使用GridView进行数据的查询与展示熟练使用ObjectDataSour

35、ce控件绑定业务逻辑层返回的对象,数据展示,数据展示的两种实现方法,使用数据源控件,可以实现快速开发,手写代码实现,简单设置实现,数据源控件,Web服务器,数据库,展示数据,什么是数据源控件?,数据源控件,快速实现多种常用的数据源进行展示和交互快速完成对数据表增删改查操作是ASP.NET2.0引入的一个新的数据抽象层,学习过的数据源控件,“面包屑”导航控件使用的SiteMapDataSource,TreeView导航控件使用的XmlDataSource,数据源控件,VS2005内置的五种数据源控件SqlDataSourceAccessDataSourceObjectDataSourceXmlD

36、ataSourceSiteMapDataSource,SqlDataSource允许访问支持ADO.NET数据提供程序的所有数据源。可访问ODBC、SQL Server等,ObjectDataSource可以对业务对象或其他返回数据的类执行特定的数据访问,XmlDataSource可以对XML文档执行特定访问,包括物理访问和内存访问。,SiteMapDataSource可以对站点地图提供程序所存储的Web站点执行特定的站点地图数据访问,数据源控件,数据源控件类的层次结构图:,Control类,普通数据源控件,层次化数据源控件,ObjectDataSource,SqlDataSource,Sit

37、eMapDataSource,XMLDataSource,AccessDataSource,所有数据源控件都派生于Control类,ObjectDataSource重要属性,手写代码方式,this.gvMain.DataSource=UserManager.GetAllUsers();this.gvMain.DataBind();,获取数据的方法,展示数据的控件,指定数据集合,数据绑定方法,注意:数据源控件方式只要指定数据源id即可;DataSource方式在指定完数据源后必须使用绑定方法。,数据绑定控件,数据绑定控件可以用来展示和绑定数据数据源控件不提供展示,数据绑定控件提供展示数据绑定控件

38、可以通过数据源控件绑定数据数据绑定控件的层次结构,小结,三层结构下,采用哪个数据源控件比较合适?说明五种数据源控件各自的作用。,图书分类管理,第三波网络书店的图书分类管理,图书列表显示,显示标题和分类,分页,详情,多选效果,光棒效果,分类修改功能,数据展示,JSP中如何显示列表信息?读取数据循环记录集,组合HTML代码(使用标签库或者硬编码).NET中的数据绑定控件能够将控件绑定到一个数据结果集 能够使用模板自定义控件的布局和样式 提供用于处理和取消事件的方便模型,GridView控件,使用GridView显示图书信息列表1、将GridView控件拖入页面。2、添加并指定ObjectDataS

39、ource数据源。3、编辑列,选择需要显示的字段,并可设置表头等。4、设置分页。5、运行,查看效果。,演示示例:图书列表,绑定列,BoundField字段表示数据绑定控件中作为文本显示的字段。可设置表头、样式等信息。DataFormatString,可设置显示字段的格式。,注:当HtmlCode属性设置为false,DataFormatString才有效,0:C,0代表对应后面的第一个参数,这里就是绑定的字段所对应的值;C是格式化标记,它可以将数字型的字段格式化为货币类型。,绑定列,TemplateField字段绑定中显示自定义内容的字段有五种模板(标头、脚注、普通项、交替项、编辑模式),绑定

40、字段的方法,还可以使用Eval,注意单引号的使用,Eval和Bind,Eval方法是只读方法该方法采用数据字段的值作为参数并将其作为字符串返回。当对表达式操作时候,必须用Eval 如格式化Bind方法支持读/写功能可以检索数据绑定控件的值并将任何更改提交回数据库。,d:日期;m:月份;y:年份。可能格式化为“17/05/2008”。,绑定列,ButtonField字段显示为数据绑定控件中的按钮 CommandName设置自定义命令(RowCommand),protected void gvBooks_RowCommand()if(e.CommandName=Select)int index=C

41、onvert.ToInt32(e.CommandArgument);GridViewRow selectedRow=gvUser.Rowsindex;TableCell contactName=selectedRow.Cells1;,绑定列,CommandField一个特殊字段,显示了用于在数据绑定控件中执行选择、编辑、插入或删除操作的命令按钮 自动生成命令,无须手写对应数据源的增改查删方法HyperLinkField显示为超链接的字段比如链接到详细页面,设置链接的路径格式,设定绑定的参数集合,绑定列,ImageField字段为图像的字段绑定到包含图像 URL 的数据源中的字段指定DataIm

42、ageUrlFieldCheckBoxField字段以复选框显示的布尔型字段 仅当数据源字段中有布尔型字段时使用此字段,光棒效果,protected void gvDemo_RowDataBound(object sender,GridViewRowEventArgs e)if(e.Row.RowType=DataControlRowType.DataRow)e.Row.Attributes.Add(onmouseover,currentcolor=this.style.backgroundColor;this.style.bac kgroundColor=#6699ff);e.Row.Att

43、ributes.Add(onmouseout,this.style.backgroundColor=currentcolor);,GridView数据行绑定事件,判断数据行类型,当鼠标离开时数据行背景色还原,添加属性(客户端):当鼠标移过的时,数据行背景色变成蓝色,多选效果,function GetAllCheckBox(CheckAll)var items=document.getElementsByTagName(input);for(i=0;iitems.length;i+)if(itemsi.type=checkbox)itemsi.checked=CheckAll.checked;,

44、获得页面上标签 为Input的控件元素,判断控件元素类 型是否为复选框,图书分类管理,完成图书分类管理模块的功能在页面相应位置放置下拉单(DropDownList)设置下拉单的数据源,并配置相关属性绑定数据源,使用ObjectDataSource控件设置需要显示的字段(DataTextField属性)设置值字段(DataValueField属性)放置“修改”按钮,并编写单击事件的代码,参考答案:图书分类管理,关键代码,string sb=String.Empty;for(int i=0;i this.gvBooks.Rows.Count;i+)CheckBox cb=(gvBooks.Rows

45、i.FindControl(chbSelect)as CheckBox;if(cb.Checked=true)sb+=(gvBooks.Rowsi.FindControl(lblId)as Label).Text+,;string catagory=this.ddlCatagory.SelectedItem.Value;ChangeCatagory(sb,catagory);/实现更新图书分类的方法,遍历行,找到选中的项,获得下拉单选中行的值,详细页面,配合图书列表中的链接项,完成图书的详细页面,显示几个常用的字段,DetailsView控件,使用DetailsView控件完成图书详细信息的显

46、示配置数据源定义数据方法-GetBookById(Int32 id)设置参数获取方法,通过参数获取指定DetailsView的数据源为该数据源,演示示例:图书的详细页面,小结,默写实现全选效果的javascript脚本思路:获得参数(多选框对象)得到页面上所有的INPUT标签的集合遍历该集合并将符合条件的对象选中状态改为参数的选中状态,总结,数据源控件有哪几个?可否使用ObjectDataSource绑定数据访问层返回的DataSet?为什么?为绑定的行添加脚本事件的方法是什么?DropDownList控件的哪个属性可获取当前选择的项?,学习情境六,数据录入与验证,回顾2-1,数据展示有哪两种

47、方式?手写绑定绑定数据源控件Eval和Bind的区别?Eval方法是静态(只读)方法,格式化显示,计算列等。Bind方法支持读/写功能,可修改回传服务器。,下面是改变图书分类的部分代码,有什么问题?,回顾2-2,string sb=String.Empty;for(int i=0;i this.gvBooks.Rows.Count;i+)CheckBox cb=(gvBooks.Rows(i).FindControl(chbSelect“)as CheckBox;if(cb.Checked=true)sb+=(gvBooks.Rowsi.FindControl(lblId)as Label).

48、Text+,;string catagory=this.ddlCatagory.SelectedItem;ChangeCatagory(sb,catagory);,Rowsi,SelectedValue或 SelectedItem.Value,预习检查,可使用哪个控件完成文件上传?有哪几种数据验证控件?,本章任务,完善用户注册完善图书管理模块中的图书信息修改,验证控件,可上传图片,可选择日期,本章目标,能熟练使用验证控件熟练使用ObjectDataSource更新数据会手工编写更新事件的方法,有效性验证,用户注册时,输入了不合标准的信息,怎么办?后台手写验证代码使用javascript脚本进行

49、验证ASP.NET提供了验证控件轻松实现用户输入的验证,且与用户浏览器无关由在客户端或服务器中运行的验证代码执行多种验证控件,验证数据更加简单方便,页面回传,用户体验不好,不安全,与浏览器相关,验证控件的层次结构,BaseValidator基础验证类,RequiredFieldValidator,CompareValidator,RegularExpressionValidator,RangeValidator,CustomValidator,BaseCompareValidator,Label,WebControl,抽象类,具体类,ValidationSummary,RequiredFiel

50、dValidator,非空验证用于验证用户输入是否为空常与其他控件一起使用常用属性,RequiredFieldValidator演示,演示输入验证如上页拖入并设置控件属性按钮事件:在页面显示 信息已提交!“在Page_Load及按钮事件中设置断点以调试模式运行,体会页面验证顺序将IE设置为禁用脚本,继续验证,this.lblMessage.Text=信息已提交!;,页面并未提交到服务器执行,验证在客户端进行,演示示例:验证控件的执行,当IE设置为禁用脚本时,页面发生回传,验证没有发生,Page.IsValid,修改按钮事件:Page.IsValid指示页面验证是否成功 用于客户端验证失败情况下

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号