当前位置:首页 > 第5章 Web窗体的基本控件
? LowerAlpha:项目符号为小写字母格式,如a、b、c等。 ? LowerRoman:项目符号为罗马数字格式,如i、ii等。 ? NotSet:表示不设置,此时将以Disc样式为默认样式。 ? Numbered:项目符号为1、2、3、4等。 ? Square:项目符号为黑方块■。
? UpperAlpha:项目符号为大写字母格式,如A、B、C等。 ? UpperRoman:项目符号为大写罗马数字格式如Ⅰ、Ⅱ、Ⅲ等。
同样,BulletedList控件也同DropDownList以及ListBox相同,可以添加事件。不同的是生成的事件是Click事件,代码如下所示。
protected void BulletedList1_Click(object sender, BulletedListEventArgs e) {
Label1.Text += \你选择了第\项\ }
DropDownList和ListBox生成的事件是SelectedIndexChanged,当其中的选择项被改变时,则触发该事件。而BulletedList控件生成的事件是Click,用于在其中提供逻辑以执行特定的应用程序任务。
5.8 面板控件(Panel)
面板控件就好像是一些控件的容器,可以将一些控件包含在面板控件内,然后对面板控制进行操作来设置在面板控件内的所有控件是显示还是隐藏,从而达到设计者的特殊目的。当创建一个面板控件时,系统会生成相应的HTML代码,示例代码如下所示。
面板控件的常用功能就是显示或隐藏一组控件,示例HTML代码如下所示。
上述代码创建了一个Panel控件, Panel控件默认属性为隐藏,并在控件外创建了一个Button控件Button1,当用户单击外部的按钮控件后将显示Panel控件,cs代码如下所示。
protected void Button1_Click(object sender, EventArgs e) {
Panel1.Visible = true; }
//Panel控件显示可见
当页面初次被载入时,Panel控件以及Panel控件内部的服务器控件都为隐藏,如图5-21所示。当用户单击Button1时,则Panel控件可见性为可见,则页面中的Panel控件以及Panel控件中的所有服务器控件也都为可见,如图5-22所示。
124
图5-21 Panel控件隐藏 图5-22 Panel被显示
将TextBox控件和Button控件放到Panel控件中,可以为Panel控件的DefaultButton属性设置为面板中某个按钮的ID来定义一个默认的按钮。当用户在面板中输入完毕,可以直接按Enter键来传送表单。并且,当设置了Panel控件的高度和宽度时,当Panel控件中的内容高度或宽度超过时,还能够自动出现滚动条。
Panel控件还包含一个GroupText属性,当Panel控件的GroupText属性被设置时,Panel将会被创建一个带标题的分组框,效果如图5-23所示。
图5-23 Panel控件的GroupText属性
GroupText属性能够进行Panel控件的样式呈现,通过编写GroupText属性能够更加清晰的让用户了解Panel控件中服务器控件的类别。例如当有一组服务器用于填写用户的信息时,可以将Panel控件的GroupText属性编写成为“用户信息”,让用户知道该区域是用于填写用户信息的。
5.9 占位控件(PlaceHolder)
在传统的ASP开发中,通常在开发页面的时候,每个页面有很多相同的元素,例如导航栏、GIF图片等。使用ASP进行应用程序开发通常使用include语句在各个页面包含其他页面的代码,这样的方法虽然解决了相同元素的很多问题,但是代码不够美观,而且时常会出现问题。ASP.NET中可以使用
125
PlaceHolder来解决这个问题,与面板控件Panel控件相同的是,占位控件PlaceHolder也是控件的容器,但是在HTML页面呈现中本身并不产生HTML,创建一个PlaceHolder控件代码如下所示。
在CS页面中,允许用户动态的在PlaceHolder上创建控件,CS页面代码如下所示。 protected void Page_Load(object sender, EventArgs e) { TextBox text = new TextBox(); text.Text = \ this.PlaceHolder1.Controls.Add(text); } //创建一个TextBox对象 //为占位控件动态增加一个控件 上述代码动态的创建了一个TextBox控件并显示在占位控件中,运行效果如图5-24所示。 图5-24 PlaceHolder控件的使用 开发人员不仅能够通过编程在PlaceHolder控件中添加控件,开发人员同样可以在PlaceHolder控件中拖动相应的服务器控件进行控件呈现和分组。 5.10 日历控件(Calendar) 在传统的Web开发中,日历是最复杂也是最难实现的功能,好在ASP.NET中提供了强大的日历控件来简化日历控件的开发。日历控件能够实现日历的翻页、日历的选取以及数据的绑定,开发人员能够在博客、OA等应用的开发中使用日历控件从而减少日历应用的开发。 5.10.1 日历控件的样式 日历控件通常在博客、论坛等程序中使用,日历控件不仅仅只是显式了一个日历,用户还能够通过日历控件进行时间的选取。在ASP.NET中,日历控件还能够和数据库进行交互操作,实现复杂的数据绑定。开发人员能够将日历控件拖动在主窗口中,在主窗口的代码视图下会自动生成日历控件的HTML代码,示例代码如下所示。 ASP.NET通过上述简单的代码就创建了一个强大的日历控件,其效果如图5-25所示。 126 图5-25 日历控件 日历控件通常用于显示月历,日历控件允许用户选择日期和移动到下一页或上一页。通过设置日历控件的属性,可以更改日历控件的外观。常用的日历控件的属性如下所示: ? DayHeaderStype:月历中显示一周中每一天的名称和部分的样式。 ? DayStyle:所显示的月份中各天的样式。 ? NextPrevStyle:标题栏左右两端的月导航所在部分的样式。 ? OtherMonthDayStyle:上一个月和下一个月的样式。 ? SelectedDayStyle:选定日期的样式。 ? SelectorStyle:位于月历控件左侧,包含用于选择一周或整个月的连接的列样式。 ? ShowDayHeader:显示或隐藏一周中的每一天的部分。 ? ShowGridLines:显示或隐藏一个月中的每一天之间的网格线。 ? ShowNextPrevMonth:显示或隐藏到下一个月或上一个月的导航控件。 ? ShowTitle:显示或隐藏标题部分。 ? TitleStyle:位于月历顶部,包含月份名称和月导航连接的标题栏样式。 ? TodayDayStyle:当前日期的样式。 ? WeekendDayStyle:周末日期的样式。 Visual Studio还为开发人员提供了默认的日历样式从而能够选择自动套用格式进行样式控制,如图5-26所示。 127
共分享92篇相关文档