第4讲WebServer控件《WEB程序设计技术》常用其它的服务器控件站点导航控件站点地图树形导航菜单导航登录控件实现登录显示登录信息更改密码注册用户第4讲WebServer控件《WEB程序设计技术》站点导航控件第4讲WebServer控件《WEB程序设计技术》站点导航系统站点导航方式硬编码到页面文件包含文件用户控件ASP.NET站点导航系统在页面散布超链接编写困难修改复杂不易维护在每个页面上进行编写包含一个文件用户自己编写控件实现基于站点地图第4讲WebServer控件《WEB程序设计技术》站点地图站点地图是对站点结构的XML描述文件名为Web.sitemap?xmlversion=1.0encoding=utf-8?siteMapxmlns==北大青鸟description=url=Default.aspxsiteMapNodetitle=ACCP培训url=accp.aspxdescription=/siteMapNodetitle=BENET培训url=benet.aspxdescription=//siteMapNode/siteMap根节点,一个站点地图只能有一个siteMap元素对应于页面的节点一个节点描述一个页面提供链接的文本描述文件在解决方案中的位置注意:如果要表示根目录,需要用“~/”说明性文本并提供光标停留时显示的内容第4讲WebServer控件《WEB程序设计技术》Web.sitemap注意事项注意事项站点地图根节点为siteMap元素,每个文件有且仅有一个根节点。siteMap下一级有且仅有一个siteMapNode节点。siteMapNode下面可以包含多个新的siteMapNode节点。站点地图中,同一个URL仅能出现一次。第4讲WebServer控件《WEB程序设计技术》SiteMap系统架构System.Web.SiteMapProviders数据提供者System.Web.XmlSiteMapProviderWeb.sitemap继承自SiteMapPath控件System.Web.SiteMapProvidersSitemapAPIs的使用SiteMapNode的集合绑定SiteMapDataSourceMenu控件TreeView控件ASP.NET中的导航控件第4讲WebServer控件《WEB程序设计技术》TreeView控件以树形目录方式导航的控件典型的树形目录与WinForm中的树形控件相似,ASP.NET提供了方便的树形目录控件的使用方式第4讲WebServer控件《WEB程序设计技术》TreeView的使用步骤1、将TreeView导航控件拖入页面2、编写数据文件(.xml)3、设置数据源4、设置自动套用格式演示:TreeView的使用方式第4讲WebServer控件《WEB程序设计技术》设置不同的数据源TreeView绑定XML文件的方式asp:TreeViewID=TreeView1runat=serverDataSourceID=XmlDataSource1DataBindingsasp:TreeNodeBindingDataMember=siteMapNodeNavigateUrlField=urlTextField=title//DataBindings/asp:TreeViewasp:XmlDataSourceID=XmlDataSource1runat=serverDataFile=~/App_Data/Web.xml/asp:XmlDataSource指定XML文件数据源绑定节点链接绑定的属性显示文字绑定的属性指定XML文件的路径演示示例3:设置XML数据源第4讲WebServer控件《WEB程序设计技术》Menu控件Menu控件提供静态和动态混合的菜单功能。静态部分是直接显示在页面上动态部分是仅在需要的时候才显示我们经常遇到静态和动态结合的菜单动态菜单和静态菜单结合,可以提供更多的选项,又不必担心占用页面的空间第4讲WebServer控件《WEB程序设计技术》Menu控件的使用与TreeView类似,只是增加了动态选择项。选择静态还是动态菜单在这里设置静态显示部分的级别数演示示例4:Menu控件的使用第4讲WebServer控件《WEB程序设计技术》SiteMapPath控件指示页面在站点的逻辑位置的导航。该类型的导航可以帮助用户理解站点结构通过该导航,可以迅速找到相关的位置“面包屑”导航第4讲WebServer控件《WEB程序设计技术》SiteMapPath重要属性PathSeparator属性控制分隔符的样式可以通过编辑模板更改分隔符为任意样式分隔符模板PathSparatorTemplatePageLevelsDisplayed属性控制导航显示的级数导航过深,影像美观,可通过该属性控制级数演示示例2:SiteMapPath的使用第4讲WebServer控件《WEB程序设计技术》实训:站点导航请参考我院站点尝试用SiteMap文件、TreeView控件、Menu控件、SiteMapPath控件实现导航效果。第4讲WebServer控件《WEB程序设计技术》小结导航控件什么属性可控制显示的级数?TreeView控件绑定XML数据源时,什么属性指定显示的标题?导航控件设置分隔符为特殊图片,如何做?第4讲WebServer控件《WEB程序设计技术》登录控件登录控件实现登录显示登录信息更改密码注册用户第4讲WebServer控件《WEB程序设计技术》登录控件Web站点常见功能包括用户登录、创建新用户、显示登录状态、显示登录用户名、更新或重置密码等。在ASP.NET2.0中,新增了一组登录系列控件,可以无需编写一行代码就能实现相应的用户界面和功能。同时,这些控件还内置了丰富的成员对象,提高了应用灵活性,另外这些控件还加强了安全方面的控制。例如:默认情况下,登录是以纯文本形式工作于HTTP上,若对安全性需要较高,可使用SSL加密的HTTPS。第4讲WebServer控件《WEB程序设计技术》登录系列控件有7个控件:Login控件用来实现登录;LoginName控件用来实现登录后显示用户名;LoginView控件可为匿名用户,登录用户或不同角色的用户设置和显示不同的视图内容;LoginStatus控件可根据当前用户状态,呈现“登录”或“注销”按钮第4讲WebServer控件《WEB程序设计技术》登录系列控件有7个控件:PasswordRecovery控件帮助用户重新设置用户密码,并能向用户发送找回密码的电子邮件ChangePassword控件实现更改密码CreateUserWizard控件一个扩展的Wizard控件,实现创建新用户帐户第4讲WebServer控件《WEB程序设计技术》一、Login控件在实际开发中,若确定使用Login控件实现登录验证,那么应根据是否实现自定义登录事件来区别对待。一是若应用程序无任何特殊要求,这种情况下,主要配置的是Login控件的外观、样式、链接、行为等属性。二是出于应用需求考虑,实现自定义登录验证处理事件,这种情况下,还必须实现登录验证处理事件。第4讲WebServer控件《WEB程序设计技术》Login控件常用外观属性名称数据类型描述FailureTextstring登录失败时的提示说明InstructionTextstring登录说明文字LoginButtonImageUrlstring登录按钮中显示的图像URLLoginButtonTextstring登录按钮中文字LgoinButtonTypeButtonType枚举登录按钮类型,三个枚举:Button,Image、LinkRememberMeTextstring默认值“下次记住我”UserNamestring输入的用户名Passwordstring输入的密码第4讲WebServer控件《WEB程序设计技术》名称数据类型描述DestinationPageUrlstring验证通过后定向的页面UrlDisplayRememberMebool是否显示CheckBox控件RememberMeSetstring登录按钮中文字LgoinButtonTypeButtonType枚举登录按钮类型,三个枚举:Button,Image、LinkRememberMeTextbool是否为浏览器发出一个永久保存验证的CookieVisibleWhenLoggedInbool用户验证后是否还显示Login控件Login控件常用行为属性:第4讲WebServer控件《WEB程序设计技术》二、LoginName控件该控件用于登录验证后,显示当前用户名。它只有一个比较重要的属性:FormatString:缺省为{0}若要显示如下效果:则该属性该设置为:欢迎您,{0}三、LoginView控件该控件能基于自定义模板属性,为不同用户/角色显示不同的视图内容。第4讲WebServer控件《WEB程序设计技术》另外,该控件还有个重要的RoleGroups属性,用于获取为具有特定角色的用户而设置的视图内容。四、LoginStatus控件该控件只有两种用户验证状态,登录和注销点击登录时,自动转向登录页面(缺省的是Login.aspx),点击注销,链接自动变成登录。该控件既可以使用文本按钮,也可以使用图片按钮,关键是要设置LoginImageUrl和LogOutImageUrl第4讲WebServer控件《WEB程序设计技术》五、ChangePassword控件该控件内置了两个视图:一是更改密码视图,若是允许匿名用户修改密码,可修改DisplayUserName属性;二是成功视图。显示一条成功信息。六、CreateUserWizard控件第4讲WebServer控件《WEB程序设计技术》CreateUserWizard控件是一个经过了扩展了的Wizard控件,能够在aspnetdb数据库中快速创建新用户。默认情况下,该控件只包括两个步骤:注册新帐户和完成。可以自定义各步骤:第4讲WebServer控件《WEB程序设计技术》选项“转换为StartNavigationTemplate”、“转换为StepNavigationTemplate”,“转换为FinishNavigationTemplate”,“转换为CustomNavigationTemplate”可实现自定义编辑模板。第4讲WebServer控件《WEB程序设计技术》七、PasswordRecovery控件在实际应用中,对于需要找回密码的用户,在找回密码之前,必须向应用程序提供一些基本信息:(1)提交用户名;(2)提交密码问题答案;(3)用Email发送重置密码给用户。该控件内置了3个用户视图,可以转换成模板进行设计第4讲WebServer控件《WEB程序设计技术》对于发送电子邮件,必须指定所使用的SMTP服务器及其相关配置,例如:服务器邮件地址是admin@163.com,可以使用WAT进行配置,在“应用程序”选项中:第4讲WebServer控件《WEB程序设计技术》保存后,web.config中设置:第4讲WebServer控件《WEB程序设计技术》课堂练习仿照例题“个人信息注册”的设计方法,设计完成“高校学生基本信息注册”的Web应用程序,页面中要求:1.包含Label、Button、TextBox、HyperLink、RadioButton、CheckBox、DropDownList、ListBox以及四个验证控件的使用。2.学生的基本信息不得少于10项。3.学生的注册信息要在页面中显示出来(输出的信息应明确、清楚)。第4