3.服务器端控件(5)

发布时间:2021-07-27 07:45:32

WEB应用程序设计 (ASP.NET)

第3课 ASP.NET服务器端控件
?

本课要点:
了解和使用各种服务器控件 ? 使用文本框、列表框等标准控件输入数据 ? 使用验证控件确保输入数据的正确性 ? 使用文件上传控件、日历控件等Rich控件 ? 了解导航控件和用户控件的使用
?

?

本课示例程序位于课件文件夹下的“AspDotNet\Lesson3_5”文 件夹下,请将其配置成虚拟目录“AspDotNet\Lesson3_5”.

3.5 导航控件
?

本节主要介绍以下控件:
? ? ? ?

站点地图SiteMap SiteMapPath控件 Menu控件 TreeView控件

3.5.1 理解站点地图(SiteMap)
?

站点地图用来表示应用程序页面之间的导航关系,该关系依赖 于计算机文件系统中所存储的页面之间的实际物理关系。(P82)

Web.sitemap
<?xml version="1.0" encoding="utf-8" ?> <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > <!-- 网站地图根结点 --> <siteMapNode url="~/Default.aspx" title="首页" description="我的网站的首页"> <!-- 站点地图子结点 --> <siteMapNode title="使用SiteMapPath控件" description="使用SiteMapPath控件的示例" > <siteMapNode url="~/UsingSiteMapPath/DisplaySiteMapPath.aspx" title="显示SiteMapPath控件" description="显示SiteMapPath控件的示例"/> <siteMapNode url="~/UsingSiteMapPath/SiteMapPathTemplates.aspx" title="使用SiteMapPath模板" description="使用SiteMapPath模板的示例"/> </siteMapNode> <!-- Menu子结点 --> <siteMapNode title="使用Menu控件" description="使用Menu控件的示例" > <siteMapNode url="~/UsingMenu/MenuSiteMap.aspx" title="显示菜单" description="显示Menu控件的示例"/> </siteMapNode> <!--TreeView子结点 --> <siteMapNode title="使用TreeView控件" description="使用TreeView控件的示例" > <siteMapNode url="~/UsingTreeView/TreeViewSiteMap.aspx" title="显示树状视图" description="显示TreeView控件的示例"/> </siteMapNode> </siteMapNode> </siteMap>

Web.sitemap
?

Web.sitemap文件一般存放于应用程序根目录下,它 是一个XML格式的文件。 ? 站点地图文件包含了众多的<siteMapNode>结点,但 只有一个顶级结点(根结点)。 ? 节点<siteMapNode>支持3个重要的属性:
?

title:表示与结点相关的标题描述 ? description:表示对结点的一个较长的文本描述,在一些导 航控件中,可以作为工具提示文字 ? url:指向页面或其它资源的URL,可选

3.5.2 使用SiteMapPath控件
?

SiteMapPath控件会显示一个导航路径,以显示浏览者当前的 位置,并显示返回到主页的路径链接。 ? 请参考教材P83,以了解SiteMapPath控件的详细属性设置。 ? 如果需要在每个页面中放置SiteMapPath控件,可以考虑使用 母版页(以后介绍)。

UsingSiteMapPath/DisplaySiteMapPath.aspx

3.5.2 使用SiteMapPath控件
?

SiteMapPath控件的主要属性:
? ? ? ? ? ?

ParentLevelDisplay:用于限制父级结点的显示个数。默认 显示所有父级结点。 PathDirection:链接显示顺序,取值为RootToCurrent和 CurrentToRoot PathSeperator:显示链接时使用的分隔符,默认为> RenderCurrentNodeAsLink:当有结点是否输出为超链接 ShowToolsTips:导航结点是否显示提示信息 SiteMapProvider:指定站点地图提供器,如SQL Server数 据源

3.5.3 Menu控件
?

Menu控件可以创建两种格式的菜单(P86)
? ?

左列式菜单 垂直列表式菜单

MenuHyperLink.aspx

3.5.3 Menu控件
?

绑定到站点地图
?

使用SiteMapDataSource数据源控件,可以将菜单控件直接 绑定到站点地图。

UsingMenu/MenuSiteMap.aspx

3.5.3 Menu控件
?

要制作格式漂亮的菜单,除了要正确设置Menu控件 的各种属性外,还要动用CSS。如:类似于Windows 的下拉式菜单。

MenuDesktop.aspx

3.5.4 TreeView控件
?

TreeView控件用于显示分层数据。(P88)

TreeViewDeclare.aspx

在TreeView中显示复选框
?

通过向TreeView控件的ShowCheckBoxes属性赋值,可以控制 每个结点是否显示复选框。可以是下列值之一:
?
? ? ?

?

All Leaf None Parent Root

TreeViewCheckBoxes.aspx

在TreeView中显示复选框
?

通过以下代码,可以获取哪些结点选中:
protected void Button1_Click(object sender, EventArgs e) { foreach (TreeNode node in TreeView1.CheckedNodes) { BulletedList1.Items.Add(node.Text); } }

TreeView绑定到站点地图

UsingTreeView/TreeViewSiteMap.aspx

3.5.5 小结
? ? ? ? ?

?

本节介绍了如何使用SiteMapPath、Menu和TreeView控件。 首先介绍了如何定义Web.sitemap文件,并使用SiteMapPath控 件来显示站点路径。 接着,介绍了Menu控件来产生垂直和水*样式的菜单。 最后,介绍了如何使用TreeView控件来显示树型分层数据,并 演示如何在TreeView控件中显示复选框。 上述控件除配置SiteMapDataSource数据源控件以与SiteMap进 行数据绑定外,还可以与XML、SQL Server等数据源进行绑 定。 要使上述控件呈现较好的外观,还需要结合CSS技术进行设计。

3.6 用户控件
?

Web用户控件可以基于现有控件创建一个新控件。 ? 不管什么时候,如果需要在多个页面中显示相同的用 户界面,就可以考虑将元素包装在用户控件中。利用 用户控件,可以使网站更容易维护和扩展。

ShowRandomImage.aspx

3.6.1 创建用户控件

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RandomImage.ascx.cs" Inherits="RandomImage" %> <asp:Image ID="imgRandom" runat="server" Width="200px" /><br /> <asp:Label ID="lblRandom" runat="server"></asp:Label>

3.6.1 创建用户控件
protected void Page_Load(object sender, EventArgs e) { string imageToDisplay = GetRandomImage(); imgRandom.ImageUrl = "~/Images/"+imageToDisplay; lblRandom.Text = imageToDisplay; } private string GetRandomImage() { Random rnd = new Random(); string[] images = Directory.GetFiles( MapPath(" ~/Images/"), "*.jpg"); string imageToDisplay = images[rnd.Next(images.Length)]; return Path.GetFileName(imageToDisplay); }

RandomImage.ascx

3.6.2 使用用户控件
?

在VS 2005中,将.ascx文件拖放到设*缑嬷芯涂梢 了。

<%@ Register Src="RandomImage.ascx" TagName="RandomImage" TagPrefix="uc1" %> …… <uc1:RandomImage ID="RandomImage1" runat="server" />

3.6.3 暴露用户控件属性
private string _imageFolderPath = "~/Images"; public string ImageFolderPath { get { return _imageFolderPath; } set { _imageFolderPath = value; } }

实验7
?

完成实验7实验报告
? ? ?

定义一个站点地图文件Web.sitemap,并使用SiteMapPath 控件显示站点路径。 使用Menu控件或TreeView控件,以熟悉这两个控件的使用。 定义一个简单的用户控件。


相关文档

  • 3.服务器端控件(1)
  • 3.服务器端控件(4)
  • 3.服务器端控件(2)
  • 3服务器端控件(1)汇编
  • 3.服务器端控件(3)
  • 第五章 服务器端控件
  • 猜你喜欢

  • 最新人教版四年级数学上学期应用题测试题
  • 【推荐】三分钟英语口语演讲稿-实用word文档 (4页)
  • 新手学*电脑基础知识
  • 七年级政治彼此尊重才能赢得尊重1(PPT)5-4
  • 2019-我最敬佩的一个人作文600字-范文模板 (1页)
  • 西汉皇帝列表
  • 中国银行贷款还款方式
  • 小米指纹锁怎样远程设置
  • 我希望我的房间是_小学作文_4
  • 高校音乐教育专业多元化钢琴教学体系改革与实践
  • 插秧机项目投资简介
  • 新人教版八年级物理上册第三章第2节熔化和凝固备课资料新版
  • 【VIP专享】UJ31型电位差计的应用
  • 杭州绯色服饰有限公司(企业信用报告)- 天眼查
  • win8下Oracle11g安装图解
  • 最新-电力行业优秀个人先进事迹材料 精品
  • 教育最新K12河北省2018年秋九年级化学下册 专题复*(二)基础实验题*题 (新版)新人教版
  • 2016-2022年中国化工新材料市场动向调研与投资价值评估报告
  • 小学生道德建设黑板报
  • 天津极致融创企业管理中心(有限合伙)(企业信用报告)- 天眼查
  • 2019苏教版三年级数学“三位数乘一位数的笔算”教学反思语文
  • 2020年采购人员保密协议[律师整理版]
  • 汉语纳入俄罗斯高考
  • 【全国百强校】山西省临汾第一中学2017-2018学年高一下学期期末考试数学(文)试题
  • 百度集团--电话销售技巧(经典培训)
  • 向往的生活尤长靖是第几期
  • 陕西省榆林市第四中学北师大版七年级数学上册4.3 角 自主学*导学案(无答案)
  • 教学课件4-8 小型个人网站设计实例
  • 办公室5S管理执行标准新
  • 2019第1课时 有理数的除法法则教育精品.ppt
  • OpenCV+Python图像处理入门教程(五)阈值处理
  • Avaya CC solution Overview(2)
  • 梦三国游戏经验分享之徐晃
  • Oracle10g 2day dba
  • 中共中央党校在职研究生班远程教学西方管理理论研...
  • 甘草、灵草、香草、甘菘、草果是不是一种药
  • 全国10月高等教育自学考试 世界市场行情试题 课程代码00102
  • 橡皮的悲哀
  • “自动控制原理”课程教学探索
  • 相聚又分离
  • 美丽的生物园_五年级作文
  • 201X年律师年终个人总结范文
  • 电脑版