ASP.NET开发大全第5章.Web窗体的基本控件
第5章 Web窗体的基本控件
与ASP不同的是,https://www.360docs.net/doc/f14803203.html,提供了大量的控件,这些控件能够轻松的实现一个交互复杂的Web应用功能。在传统的ASP开发中,让开发人员最为烦恼的是代码的重用性太低,以及事件代码和页面代码不能很好的分开。而在https://www.360docs.net/doc/f14803203.html,中,控件不仅解决了代码重用性的问题,对于初学者而言,控件还简单易用并能够轻松上手、投入开发。
5.1 控件的属性
每个控件都有一些公共属性,例如字体颜色、边框的颜色、样式等。在Visual Studio 2008中,当开发人员将鼠标选择了相应的控件后,属性栏中会简单的介绍该属性的作用。如图5-1所示。
图5-1 控件的属性
属性栏用来设置控件的属性,当控件在页面被初始化时,这些将被应用到控件。控件的属性也可以通过编程的方法在页面相应代码区域编写,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e)
{
Label1.Visible = false ;//在Page_Load中设置Label1的可见性}
上述代码编写了一个Page_Load(页面加载事件),当页面初次被加载时,会执行Page_Load中的代码。这里通过编程的方法对控件的属性进行更改,当页面加载时,控件的属性会被应用并呈现在浏览器。
109 5.2 简单控件
https://www.360docs.net/doc/f14803203.html, 提供了诸多控件,这些控件包括简单控件、数据库控件、登录控件等强大的控件。在https://www.360docs.net/doc/f14803203.html, 中,简单控件是最基础也是经常被使用的控件,简单控件包括标签控件(Label )、超链接控件(HyperLink )以及图像控件(Image )等。
5.2.1 标签控件(Label )
在Web 应用中,希望显式的文本不能被用户更改,或者当触发事件时,某一段文本能够在运行时更改,则可以使用标签控件(Label )。开发人员可以非常方便的将标签控件拖放到页面,拖放到页面后,该页面将自动生成一段标签控件的声明代码,示例代码如下所示。
上述代码中,声明了一个标签控件,并将这个标签控件的ID 属性设置为默认值Label1。由于该控件是服务器端控件,所以在控件属性中包含runat=“server ”属性。该代码还将标签控件的文本初始化为Label ,开发人员能够配置该属性进行不同文本内容的呈现。
注意:通常情况下,控件的ID 也应该遵循良好的命名规范,以便维护。 同样,标签控件的属性能够在相应的.cs 代码中初始化,示例代码如下所示。
protected void Page_PreInit(object sender, EventArgs e)
{
Label1.Text = "Hello World";
//标签赋值
} 上述代码在页面初始化时为Label1的文本属性设置为“Hello World ”。值得注意的是,对于Label 标签,同样也可以显式HTML 样式,示例代码如下所示。
protected void Page_PreInit(object sender, EventArgs e)
{
Label1.Text = "Hello World
A Html Code"; //输出 HTML Label1.Font.Size = FontUnit.XXLarge; //设置字体大小 }
上述代码中,Label1的文本属性被设置为一串HTML 代码,当Label 文本被呈现时,会以HTML 效果显式,运行结果如图5-2所示。
图5-2 Label 的Text 属性的使用
如果开发人员只是为了显示一般的文本或者HTML效果,不推荐使用Label控件,因为当服务器控件过多,会导致性能问题。使用静态的HTML文本能够让页面解析速度更快。
5.2.2 超链接控件(HyperLink)
超链接控件相当于实现了HTML代码中的“”效果,当然,超链接控件有自己的特点,当拖动一个超链接控件到页面时,系统会自动生成控件声明代码,示例代码如下所示。
上述代码声明了一个超链接控件,相对于HTML代码形式,超链接控件可以通过传递指定的参数来访问不同的页面。当触发了一个事件后,超链接的属性可以被改变。超链接控件通常使用的两个属性如下所示:
?ImageUrl:要显式图像的URL。
?NavigateUrl:要跳转的URL。
1.ImageUrl属性
设置ImageUrl属性可以设置这个超链接是以文本形式显式还是以图片文件显式,示例代码如下所示。
ImageUrl="https://www.360docs.net/doc/f14803203.html,/images/cms.jpg"> HyperLink
上述代码将文本形式显示的超链接变为了图片形式的超链接,虽然表现形式不同,但是不管是图片形式还是文本形式,全都实现的相同的效果。
2.Navigate属性
Navigate属性可以为无论是文本形式还是图片形式的超链接设置超链接属性,即即将跳转的页面,示例代码如下所示。
ImageUrl="https://www.360docs.net/doc/f14803203.html,/images/cms.jpg" NavigateUrl="https://www.360docs.net/doc/f14803203.html,"> HyperLink
上述代码使用了图片超链接的形式。其中图片来自“https://www.360docs.net/doc/f14803203.html,/images/cms.jpg”,当点击此超链接控件后,浏览器将跳到URL为“https://www.360docs.net/doc/f14803203.html,”的页面。
3.动态跳转
在前面的小结讲解了超链接控件的优点,超链接控件的优点在于能够对控件进行编程,来按照用户的意愿跳转到自己跳转的页面。以下代码实现了当用户选择QQ时,会跳转到腾讯网站,如果选择SOHU,则会跳转到SOHU页面,示例代码如下所示。
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
if (DropDownList1.Text == "qq") //如果选择qq
{
HyperLink1.Text = "qq"; //文本为qq
HyperLink1.NavigateUrl = "https://www.360docs.net/doc/f14803203.html,"; //URL为https://www.360docs.net/doc/f14803203.html,
}
110
else //选择sohu
{
HyperLink1.Text = "sohu"; //文本为sohu
HyperLink1.NavigateUrl = "https://www.360docs.net/doc/f14803203.html,"; //URL为https://www.360docs.net/doc/f14803203.html, }
}
上述代码使用了DropDownList控件,当用户选择不同的值时,对HyperLink1控件进行操作。当用户选择qq,则为HyperLink1控件配置连接为https://www.360docs.net/doc/f14803203.html,。
注意:与标签控件相同的是,如果只是为了单纯的实现超链接,同样不推荐使用HyperLink控件,因为过多的使用服务器控件同样有可能造成性能问题。
5.2.3 图像控件(Image)
图像控件用来在Web窗体中显示图像,图像控件常用的属性如下:
?AlternateText:在图像无法显式时显示的备用文本。
?ImageAlign:图像的对齐方式。
?ImageUrl:要显示图像的URL。
当图片无法显示的时候,图片将被替换成AlternateText属性中的文字,ImageAlign属性用来控制图片的对齐方式,而ImageUrl属性用来设置图像连接地址。同样,HTML中也可以使用来替代图像控件,图像控件具有可控性的优点,就是通过编程来控制图像控件,图像控件基本声明代码如下所示。
除了显示图形以外,Image控件的其他属性还允许为图像指定各种文本,各属性如下所示。
?ToolTip:浏览器显式在工具提示中的文本。
?GenerateEmptyAlternateText:如果将此属性设置为true,则呈现的图片的alt属性将设置为空。
开发人员能够为Image控件配置相应的属性以便在浏览时呈现不同的样式,创建一个Image控件也可以直接通过编写HTML代码进行呈现,示例代码如下所示。
AlternateText="图片连接失效" ImageUrl="https://www.360docs.net/doc/f14803203.html,/images/cms.jpg" /> 上述代码设置了一个图片,并当图片失效的时候提示图片连接失效。 注意:当双击图像控件时,系统并没有生成事件所需要的代码段,这说明Image控件不支持任何事件。 5.3 文本框控件(TextBox) 在Web开发中,Web应用程序通常需要和用户进行交互,例如用户注册、登录、发帖等,那么就需要文本框控件(TextBox)来接受用户输入的信息。开发人员还可以使用文本框控件制作高级的文本编辑器用于HTML,以及文本的输入输出。 5.3.1 文本框控件的属性 通常情况下,默认的文本控件(TextBox)是一个单行的文本框,用户只能在文本框中输入一行内 111 容。通过修改该属性,则可以将文本框设置为多行/或者是以密码形式显示,文本框控件常用的控件属性如下所示。 ?AutoPostBack:在文本修改以后,是否自动重传 ?Columns:文本框的宽度。 ?EnableViewState:控件是否自动保存其状态以用于往返过程。 ?MaxLength:用户输入的最大字符数。 ?ReadOnly:是否为只读。 ?Rows:作为多行文本框时所显式的行数。 ?TextMode:文本框的模式,设置单行,多行或者密码。 ?Wrap:文本框是否换行。 1.AutoPostBack(自动回传)属性 在网页的交互中,如果用户提交了表单,或者执行了相应的方法,那么该页面将会发送到服务器上,服务器将执行表单的操作或者执行相应方法后,再呈现给用户,例如按钮控件、下拉菜单控件等。如果将某个控件的AutoPostBack属性设置为true时,则如果该控件的属性被修改,那么同样会使页面自动发回到服务器。 2.EnableViewState(控件状态)属性 ViewState是https://www.360docs.net/doc/f14803203.html,中用来保存Web控件回传状态的一种机制,它是由https://www.360docs.net/doc/f14803203.html,页面框架管理的一个隐藏字段。在回传发生时,ViewState数据同样将回传到服务器,https://www.360docs.net/doc/f14803203.html,框架解析ViewState 字符串并为页面中的各个控件填充该属性。而填充后,控件通过使用ViewState将数据重新恢复到以前的状态。 在使用某些特殊的控件时,如数据库控件,来显示数据库。每次打开页面执行一次数据库往返过程是非常不明智的。开发人员可以绑定数据,在加载页面时仅对页面设置一次,在后续的回传中,控件将自动从ViewState中重新填充,减少了数据库的往返次数,从而不使用过多的服务器资源。在默认情况下,EnableViewState的属性值通常为true。 3.其他属性 上面的两个属性是比较重要的属性,其他的属性也经常使用。 ?MaxLength:在注册时可以限制用户输入的字符串长度。 ?ReadOnly:如果将此属性设置为true,那么文本框内的值是无法被修改的。 ?TextMode:此属性可以设置文本框的模式,例如单行、多行和密码形式。默认情况下,不设置TextMode属性,那么文本框默认为单行。 5.3.2 文本框控件的使用 在默认情况下,文本框为单行类型,同时文本框模式也包括多行和密码,示例代码如下所示。 Width="325px"> 112 上述代码演示了三种文本框的使用方法,上述代码运行后的结果如图5-3所示。 图5-3 文本框的三种形式 文本框无论是在Web应用程序开发还是Windows应用程序开发中都是非常重要的。文本框在用户交互中能够起到非常重要的作用。在文本框的使用中,通常需要获取用户在文本框中输入的值或者检查文本框属性是否被改写。当获取用户的值的时候,必须通过一段代码来控制。文本框控件HTML页面示例代码如下所示。
上述代码声明了一个文本框控件和一个按钮控件,当用户单击按钮控件时,就需要实现标签控件的文本改变。为了实现相应的效果,可以通过编写cs文件代码进行逻辑处理,示例代码如下所示:namespace _5_3 //页面命名空间
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e) //页面加载时触发
{
}
protected void Button1_Click(object sender, EventArgs e) //双击按钮时触发的事件
{
Label1.Text = TextBox1.Text; //标签控件的值等于文本框中控件的值}
}
}
上述代码中,当双击按钮时,就会触发一个按钮事件,这个事件就是将文本框内的值赋值到标签内,
113
运行结果如图5-4所示。
图5-4 文本框控件的使用
同样,双击文本框控件,会触发TextChange事件。而当运行时,当文本框控件中的字符变化后,并没有自动回传,是因为默认情况下,文本框的AutoPostBack属性被设置为false。当AutoPostBack属性被设置为true时,文本框的属性变化,则会发生回传,示例代码如下所示。
protected void TextBox1_TextChanged(object sender, EventArgs e) //文本框事件
{
Label1.Text = TextBox1.Text; //控件相互赋值}
上述代码中,为TextBox1添加了TextChanged事件。在TextChanged事件中,并不是每一次文本框的内容发生了变化之后,就会重传到服务器,这一点和WinForm是不同的,因为这样会大大的降低页面的效率。而当用户将文本框中的焦点移出导致TextBox就会失去焦点时,才会发生重传。
5.4 按钮控件(Button,LinkButton,ImageButton)
在Web应用程序和用户交互时,常常需要提交表单、获取表单信息等操作。在这其间,按钮控件是非常必要的。按钮控件能够触发事件,或者将网页中的信息回传给服务器。在https://www.360docs.net/doc/f14803203.html,中,包含三类按钮控件,分别为Button、LinkButton、ImageButton。
5.4.1 按钮控件的通用属性
按钮控件用于事件的提交,按钮控件包含一些通用属性,按钮控件的常用通用属性包括有:
?Causes Validation:按钮是否导致激发验证检查。
?CommandArgument:与此按钮管理的命令参数。
?CommandName:与此按钮关联的命令。
?ValidationGroup:使用该属性可以指定单击按钮时调用页面上的哪些验证程序。如果未建立任何验证组,则会调用页面上的所有验证程序。
下面的语句声明了三种按钮,示例代码如下所示。
114
115
图5-5 三种按钮类型
5.4.2 Click 单击事件
这三种按钮控件对应的事件通常是Click 单击和Command 命令事件。在Click 单击事件中,通常用于编写用户单击按钮时所需要执行的事件,示例代码如下所示。
protected void Button1_Click(object sender, EventArgs e)
{
Label1.Text = "普通按钮被触发";
//输出信息 }
protected void LinkButton1_Click(object sender, EventArgs e)
{
Label1.Text = "连接按钮被触发"; //输出信息
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Label1.Text = "图片按钮被触发";
//输出信息
} 上述代码分别为三种按钮生成了事件,其代码都是将Label1的文本设置为相应的文本,运行结果如图5-6所示。
图5-6 按钮的Click 事件
5.4.3 Command 命令事件
按钮控件中,Click 事件并不能传递参数,所以处理的事件相对简单。而Command 事件可以传递参
数,负责传递参数的是按钮控件的CommandArgument和CommandName属性。如图5-7所示。
图5-7 CommandArgument和CommandName属性
将CommandArgument和CommandName属性分别设置为Hello!和Show,单击创建一个Command 事件并在事件中编写相应代码,示例代码如下所示。
protected void Button1_Command(object sender, CommandEventArgs e)
{
if (https://www.360docs.net/doc/f14803203.html,mandName == "Show") //如果CommandNmae属性的值为Show,则运行下面代码
{
Label1.Text = https://www.360docs.net/doc/f14803203.html,mandArgument.ToString();//CommandArgument属性的值赋值给Label1 }
}
注意:当按钮同时包含Click和Command事件时,通常情况下会执行Command事件。
Command有一些Click不具备的好处,就是传递参数。可以对按钮的CommandArgument和CommandName属性分别设置,通过判断CommandArgument和CommandName属性来执行相应的方法。这样一个按钮控件就能够实现不同的方法,使得多个按钮与一个处理代码关联或者一个按钮根据不同的值进行不同的处理和响应。相比Click单击事件而言,Command命令事件具有更高的可控性。
5.5 单选控件和单选组控件(RadioButton和RadioButtonList)
在投票等系统中,通常需要使用单选控件和单选组控件。顾名思义,在单选控件和单选组控件的项目中,只能在有限种选择中进行一个项目的选择。在进行投票等应用开发并且只能在选项中选择单项时,单选控件和单选组控件都是最佳的选择。
5.5.1 单选控件(RadioButton)
单选控件可以为用户选择某一个选项,单选控件常用属性如下所示。
?Checked:控件是否被选中。
?GroupName:单选控件所处的组名。
?TextAlign:文本标签相对于控件的对齐方式。
单选控件通常需要Checked属性来判断某个选项是否被选中,多个单选控件之间可能存在着某些联系,这些联系通过GroupName进行约束和联系,示例代码如下所示。
116
117 Text="Choose1" /> Text="Choose2" /> 上述代码声明了两个单选控件,并将GroupName 属性都设置为“choose ”。单选控件中最常用的事件是CheckedChanged ,当控件的选中状态改变时,则触发该事件,示例代码如下所示。 protected void RadioButton1_CheckedChanged(object sender, EventArgs e) { Label1.Text = "第一个被选中"; } protected void RadioButton2_CheckedChanged(object sender, EventArgs e) { Label1.Text = "第二个被选中"; } 上述代码中,当选中状态被改变时,则触发相应的事件。运行结果如图5-8所示。 图5-8 单选控件的使用 与TextBox 文本框控件相同的是,单选控件不会自动进行页面回传,必须将AutoPostBack 属性设置为true 时才能在焦点丢失时触发相应的CheckedChanged 事件。 5.5.2 单选组控件(RadioButtonList ) 与单选控件相同,单选组控件也是只能选择一个项目的控件,而与单选控件不同的是,单选组控件没有GroupName 属性,但是却能够列出多个单选项目。另外,单选组控件所生成的代码也比单选控件实现的相对较少。单选组控件添加项如图5-9所示。 118 图5-9 单选组控件添加项 添加项目后,系统自动在.aspx 页面声明服务器控件代码,代码如下所示。 上述代码使用了单选组控件进行单选功能的实现,单选组控件还包括一些属性用于样式和重复的配置。单选组控件的常用属性如下所示: ? DataMember :在数据集用做数据源时做数据绑定。 ? DataSource :向列表填入项时所使用的数据源。 ? DataTextFiled :提供项文本的数据源中的字段。 ? DataTextFormat :应用于文本字段的格式。 ? DataValueFiled :数据源中提供项值的字段。 ? Items :列表中项的集合。 ? RepeatColumn :用于布局项的列数。 ? RepeatDirection :项的布局方向。 ? RepeatLayout :是否在某个表或者流中重复。 同单选控件一样,双击单选组控件时系统会自动生成该事件的声明,同样可以在该事件中确定代码。当选择一项内容时,提示用户所选择的内容,示例代码如下所示。 protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e) { Label1.Text = RadioButtonList1.Text; //文本标签段的值等于选择的控件的值 } 5.6 复选框控件和复选组控件(CheckBox 和CheckBoxList ) 当一个投票系统需要用户能够选择多个选择项时,则单选框控件就不符合要求了。https://www.360docs.net/doc/f14803203.html, 还提供了复选框控件和复选组控件来满足多选的要求。复选框控件和复选组控件同单选框控件和单选组控件一样,都是通过Checked 属性来判断是否被选择。 5.6.1 复选框控件(CheckBox) 同单选框控件一样,复选框也是通过Check属性判断是否被选择,而不同的是,复选框控件没有GroupName属性,示例代码如下所示。 protected void CheckBox1_CheckedChanged(object sender, EventArgs e) { Label1.Text = "选框1被选中"; //当选框1被选中时 } protected void CheckBox2_CheckedChanged(object sender, EventArgs e) { Label1.Text = "选框2被选中,并且字体变大"; //当选框2被选中时 Label1.Font.Size = FontUnit.XXLarge; } 上述代码分别为两个选框设置了事件,设置了当选择选框1时,则文本标签输出“选框1被选中”,如图5-10所示。当选择选框2时,则输出“选框2被选中,并且字体变大”,运行结果如图5-11所示。 图5-10 选框1被选中图5-11 选框2被选中 对于复选框而言,用户可以在复选框控件中选择多个选项,所以就没有必要为复选框控件进行分组。在单选框控件中,相同组名的控件只能选择一项用于约束多个单选框中的选项,而复选框就没有约束的必要。 5.6.2 复选组控件(CheckBoxList) 同单选组控件相同,为了方便复选控件的使用,.NET服务器控件中同样包括了复选组控件,拖动一个复选组控件到页面可以同单选组控件一样添加复选组列表。添加在页面后,系统生成代码如下所示。 onselectedindexchanged="CheckBoxList1_SelectedIndexChanged"> 119 上述代码中,同样增加了3个项目提供给用户选择,复选组控件最常用的是SelectedIndexChanged 事件。当控件中某项的选中状态被改变时,则会触发该事件。示例代码如下所示。 protected void CheckBoxList1_SelectedIndexChanged(object sender, EventArgs e) { if (CheckBoxList1.Items[0].Selected) //判断某项是否被选中 { Label1.Font.Size = FontUnit.XXLarge; //更改字体大小 } if (CheckBoxList1.Items[1].Selected) //判断是否被选中 { Label1.Font.Size = FontUnit.XLarge; //更改字体大小 } if (CheckBoxList1.Items[2].Selected) { Label1.Font.Size = FontUnit.XSmall; } } 上述代码中,CheckBoxList1.Items[0].Selected是用来判断某项是否被选中,其中Item数组是复选组控件中项目的集合,其中Items[0]是复选组中的第一个项目。上述代码用来修改字体的大小,如图5-12所示,当选择不同的选项时,字体的大小也不相同,运行结果如图5-13所示。 图5-12 选择大号字体图5-13 选择小号字体 正如图5-12、5-13所示,当用户选择不同的选项时,Label标签的字体的大小会随之改变。 注意:复选组控件与单选组控件不同的是,不能够直接获取复选组控件某个选中项目的值,因为复选组控件返回的是第一个选择项的返回值,只能够通过Item集合来获取选择某个或多个选中的项目值。 5.7 列表控件(DropDownList,ListBox和BulletedList) 在Web开发中,经常会需要使用列表控件,让用户的输入更加简单。例如在用户注册时,用户的所在地是有限的集合,而且用户不喜欢经常键入,这样就可以使用列表控件。同样列表控件还能够简化用户输入并且防止用户输入在实际中不存在的数据,如性别的选择等。 5.7.1 DropDownList列表控件 列表控件能在一个控件中为用户提供多个选项,同时又能够避免用户输入错误的选项。例如,在用 120 121 户注册时,可以选择性别是男,或者女,就可以使用DropDownList 列表控件,同时又避免了用户输入其他的信息。因为性别除了男就是女,输入其他的信息说明这个信息是错误或者是无效的。下列语句声明了一个DropDownList 列表控件,示例代码如下所示。 上述代码创建了一个DropDownList 列表控件,并手动增加了列表项。同时DropDownList 列表控件也可以绑定数据源控件。DropDownList 列表控件最常用的事件是SelectedIndexChanged ,当DropDownList 列表控件选择项发生变化时,则会触发该事件,示例代码如下所示。 protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e) { Label1.Text = "你选择了第" + DropDownList1.Text + "项"; } 上述代码中,当选择的项目发生变化时则会触发该事件,如图5-14所示。当用户再次进行选择时,系统会将更改标签1中的文本,如图5-15所示。 图5-14 选择第三项 5-15 选择第一项 当用户选择相应的项目时,就会触发SelectedIndexChanged 事件,开发人员可以通过捕捉相应的用户选中的控件进行编程处理,这里就捕捉了用户选择的数字进行字体大小的更改。 5.7.2 ListBox 列表控件 相对于DropDownList 控件而言,ListBox 控件可以指定用户是否允许多项选择。设置SelectionMode 属性为Single 时,表明只允许用户从列表框中选择一个项目,而当SelectionMode 属性的值为Multiple 时,用户可以按住Ctrl 键或者使用Shift 组合键从列表中选择多个数据项。当创建一个ListBox 列表控件后,开发人员能够在控件中添加所需的项目,添加完成后示例代码如下所示。 122 从结构上看,ListBox 列表控件的HTML 样式代码和DropDownList 控件十分相似。同样,SelectedIndexChanged 也是ListBox 列表控件中最常用的事件,双击ListBox 列表控件,系统会自动生成相应的代码。同样,开发人员可以为ListBox 控件中的选项改变后的事件做编程处理,示例代码如下所示。 protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { Label1.Text = "你选择了第" + ListBox1.Text + "项"; } 上述代码中,当ListBox 控件选择项发生改变后,该事件就会被触发并修改相应Label 标签中文本,如图5-16所示。 上面的程序同样实现了DropDownList 中程序的效果。不同的是,如果需要实现让用户选择多个ListBox 项,只需要设置SelectionMode 属性为“Multiple ”即可,如图5-17所示。 图5-16 ListBox 单选 图5-17 SelectionMode 属性 当设置了SelectionMode 属性后,用户可以按住Ctrl 键或者使用Shift 组合键选择多项。同样,开发人员也可以编写处理选择多项时的事件,示例代码如下所示。 protected void ListBox1_SelectedIndexChanged1(object sender, EventArgs e) { Label1.Text += ",你选择了第" + ListBox1.Text + "项"; } 上述代码使用了“+=”运算符,在触发SelectedIndexChanged 事件后,应用程序将为Label1标签赋值,如图5-18所示。当用户每选一项的时候,就会触发该事件,如图5-19所示。 123 图5-18 单选效果 图5-19 多选效果 从运行结果可以看出,当单选时,选择项返回值和选择的项相同,而当选择多项的时候,返回值同第一项相同。所以,在选择多项时,也需要使用Item 集合获取和遍历多个项目。 5.7.3 BulletedList 列表控件 BulletedList 与上述列表控件不同的是,BulleteList 控件可呈现项目符号或编号。对BulleteList 属性的设置为呈现项目符号,则当BulletedList 被呈现在页面时,列表前端会则会显式项目符号或者特殊符号,效果如图5-20所示。 图5-20 BulletedList 显式效果 BulletedList 可以通过设置BulletStyle 属性来编辑列表前的符号样式,常用的BulletStyle 项目符号编号样式如下所示。 ? Circle :项目符号设置为○。 ? CustomImage :项目符号为自定义图片。 ? Disc :项目符号设置为●。 ?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 += ",你选择了第" + BulletedList1.Items[e.Index].ToString() + "项"; } DropDownList和ListBox生成的事件是SelectedIndexChanged,当其中的选择项被改变时,则触发该事件。而BulletedList控件生成的事件是Click,用于在其中提供逻辑以执行特定的应用程序任务。 5.8 面板控件(Panel) 面板控件就好像是一些控件的容器,可以将一些控件包含在面板控件内,然后对面板控制进行操作来设置在面板控件内的所有控件是显示还是隐藏,从而达到设计者的特殊目的。当创建一个面板控件时,系统会生成相应的HTML代码,示例代码如下所示。 面板控件的常用功能就是显示或隐藏一组控件,示例HTML代码如下所示。 This is a Panel! 上述代码创建了一个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 125 图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 语句在各个页面包含其他页面的代码,这样的方法虽然解决了相同元素的很多问题,但是代码不够美观,而且时常会出现问题。https://www.360docs.net/doc/f14803203.html, 中可以使用 126 PlaceHolder 来解决这个问题,与面板控件Panel 控件相同的是,占位控件PlaceHolder 也是控件的容器,但是在HTML 页面呈现中本身并不产生HTML ,创建一个PlaceHolder 控件代码如下所示。 protected void Page_Load(object sender, EventArgs e) { TextBox text = new TextBox(); //创建一个TextBox 对象 text.Text = "NEW"; this.PlaceHolder1.Controls.Add(text); //为占位控件动态增加一个控件 } 上述代码动态的创建了一个TextBox 控件并显示在占位控件中,运行效果如图5-24所示。 图5-24 PlaceHolder 控件的使用 开发人员不仅能够通过编程在PlaceHolder 控件中添加控件,开发人员同样可以在PlaceHolder 控件中拖动相应的服务器控件进行控件呈现和分组。 5.10 日历控件(Calendar ) 在传统的Web 开发中,日历是最复杂也是最难实现的功能,好在https://www.360docs.net/doc/f14803203.html, 中提供了强大的日历控件来简化日历控件的开发。日历控件能够实现日历的翻页、日历的选取以及数据的绑定,开发人员能够在博客、OA 等应用的开发中使用日历控件从而减少日历应用的开发。 5.10.1 日历控件的样式 日历控件通常在博客、论坛等程序中使用,日历控件不仅仅只是显式了一个日历,用户还能够通过日历控件进行时间的选取。在https://www.360docs.net/doc/f14803203.html, 中,日历控件还能够和数据库进行交互操作,实现复杂的数据绑定。开发人员能够将日历控件拖动在主窗口中,在主窗口的代码视图下会自动生成日历控件的HTML 代码,示例代码如下所示。 https://www.360docs.net/doc/f14803203.html, 通过上述简单的代码就创建了一个强大的日历控件,其效果如图5-25所示。 127 图5-25 日历控件 日历控件通常用于显示月历,日历控件允许用户选择日期和移动到下一页或上一页。通过设置日历控件的属性,可以更改日历控件的外观。常用的日历控件的属性如下所示: ? DayHeaderStype :月历中显示一周中每一天的名称和部分的样式。 ? DayStyle :所显示的月份中各天的样式。 ? NextPrevStyle :标题栏左右两端的月导航所在部分的样式。 ? OtherMonthDayStyle :上一个月和下一个月的样式。 ? SelectedDayStyle :选定日期的样式。 ? SelectorStyle :位于月历控件左侧,包含用于选择一周或整个月的连接的列样式。 ? ShowDayHeader :显示或隐藏一周中的每一天的部分。 ? ShowGridLines :显示或隐藏一个月中的每一天之间的网格线。 ? ShowNextPrevMonth :显示或隐藏到下一个月或上一个月的导航控件。 ? ShowTitle :显示或隐藏标题部分。 ? TitleStyle :位于月历顶部,包含月份名称和月导航连接的标题栏样式。 ? TodayDayStyle :当前日期的样式。 ? WeekendDayStyle :周末日期的样式。 Visual Studio 还为开发人员提供了默认的日历样式从而能够选择自动套用格式进行样式控制,如图5-26所示。 1.选择题 https://www.360docs.net/doc/f14803203.html,页面是完全面向对象的。在https://www.360docs.net/doc/f14803203.html,网页中,可以使 用(ABC)来处理HTML元素。 A.属性 B.方法 C.事件 D.过程 2. (B)不属于https://www.360docs.net/doc/f14803203.html,开发和运行环境。 A.安装IIS B.SQL SERVER 数据库 C.安装.NET FRAMEWORK SDK D.VISUAL https://www.360docs.net/doc/f14803203.html, 3. .NET Framework旨在实现目标包括(ABCD). A.提供一个一致向对象的编程环境,而无论对象代码实在本地 存储和执行,还是在本地执行但在Internet上分布,或者是在远程 执行的。 B.提供一个将软件部署和版本控制冲突最小化的代码执行环境。 C.提供一个可提高代码执行安全性的代码执行环境。 D.提供一个可消除脚本环境或解释环境的性能问题的代码执行 环境。 4. HTTP常用请求方法包括(ABCD). A.PUT B.LINK C.DELETE D.UNLINK 5. .NET Framework具有的主要组件是(B). A.公共语言运行库 https://www.360docs.net/doc/f14803203.html, FRANEWORK类库 C.动态语言运行时 C.中间语言 6. 下列类型属于引用类型的有(AC). A.类类型 B.结构体 C.数组 D.枚举 7. 下列关键词中,(D)不能用于循环。 A.FOR B.FROEACH C.WHILE D.OBJECT 8. 下列选项中(D)没有分支功能. A.IF B.SWITCH C.?: D.CLASS 9. 下列说法中不正确的是(C). A.C#中以“,”作为一条语句的结束 B.C#中注释是不参与编译的 C.C#有3种不同的注释类型 D.switch语句中case标签结束可以有跳转语句,也可以没有 10. 下列关于变量的说法中正确的是(A). A.C#中变量可划分为值类型和引用 B.在同一行中可以申请多个变量 C.可以在定义变量的同时为其赋值 D.变量是用来存放数据值得 11. 设置(A)属性可以决定Web服务器了控件是否可用。 A.ENABLE B.VISIABLE C.ID D.SELECTED 12. 要使用户能够在ListBox控件中一次选中多个项,则必须 (B) A. 将其SelectionMode属性设置为SINGLE B. 将其SelectionMode属性设置为Multiple C. 将其AUTOPOSTBACK属性设置为SINGLE D. 将其AUTOPOSTBACK属性设置为Multiple 13. 下列选项中,(ABC)选项属于Image类的ImageAlign属性。 A.LEFT B.RIGHT C.TOP D.TEXT_MIDDLE 14. TextBox控件用来获取或设置文本框中最多允许的字符数的属性是(B) A.COLUMNS B.MAXLENGTH C.ROWS D.WIDTH 15. 如果要设置在ImageButton控件中显示的图片的位置,需要设置它的(C) A.IMAGEURL B.TOOLTIP C.IMAGEALIGN D.POSTBACKURL 一、填空题(每空2分,共30分): (1)默认安装中,IIS服务器被安装在“[硬盘名]:\”的目录下。对应的URL是或 答案:http://服务器域名;Inetpub\wwwroot (2) 所闻分布式类就是在多个文件中使用相同的命名空间,相同的类名,而且每个类的定义前面都加上____修饰符,编译时编译器就会自动的将这些文件编辑成一个完整的类。 答案:partial (3) 当一个Web控件上发生的事件需要立即得到响时,应该将他的属性设置为true。 答案: AutoPostBack (5)比如在应聘表单的界面上要放入【保存】和【复位】两个按钮,其中【复位】按钮采用的HTML Reset按钮控件,而【保存】按钮则必须是按钮控件。 答案:服务器 (6)当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为 . 答案:Password (7) 在设计阶段必须将各个验证控件的属性指向被验证的控件。答案:ControlToValidate (8)使用RegularExpression控件验证输入时,首先要将本控件的属性设置成检查的模式。 答案:ValidationExpress (8) 状态分为4种类型,它们是:视图状态,应用程序状态,会话状态,和——。 答案:Cookie状态。 (9)下面是设置和取出Session对象的代码。 设置Session的代码是: Session[“greeting”]=“hello wang !”; 取出该Session对象的语句如下: string Myvar ; 答案:=Session[“greeting”].ToString()。 (10) 下面是使用Application对象时防止竞争的代码。 Application. ; //锁定Application对象 Application[“counter”]=(int) Application[“counter”]+1; Application. ; //解除对Application对象的锁定 答案:lock() unlock() (11)废除Session的语句是:。 答案: Session.Abandon() (11)改变Session的有效时间的语句是:。 答案:Session.Timeout=60; (12) 文档对象模型DOM是英文的缩写,它是DHTML的基础。 答案:Document Object Model WEB服务器控件 编写一个WEB控件至少要包含三个元素:ASP:XXX指明是哪一类控件,ID指明控件的标识符,Ruant 指明是在服务器端运行的。如: web综合整理复习
web期末考试复习题
WEB服务器控件
MultiLine多行 Pasword密码输入 Columns 以字符为单位指明文本框的显示宽度 Rows 当TextMode为MultiLine时,指明文本框的行数 MaxLength 在单行文本方式下,文本框可以输入的字符数 Wrap 当TextMode为MultiLine时,是否自动换行,默认为TRUE ReadOnly 输入框为只读,默认为FALSE DataBind 将数据源绑定到被调用的服务器控件及其所有子控件上 TextChanged 当文本框内容发生变化时,触动。 文字控件案例一(5_3):制作登录界面 控件类型ID 属性设置说明 Label Label1 Text=用户名用于显示静态文本Label Label2 Text=密码用于显示静态文本Label LblMessage Text=””用于显示提示文本或登 录信息 TexBox TxtUserName TextMode=SingleLine 用于输入用户名TexBox TxtPassWord TextMode=Password 用于输入密码 Button BtnSumit Text=提交向服务器发送登录信息Button BtnRest Text=重置清除文本框内容 { TxtUserName.Text = ""; TxtPassWord.Text = ""; LblMessage.Text = ""; } protected void BtnSumit_Click(object sender, EventArgs e) { if ((TxtUserName.Text.Trim() != "") && (TxtPassWord.Text.Trim() != "")) { LblMessage.Text = "用户名:" + TxtUserName.Text + ":" + "密码" + TxtPassWord.Text; } else if (TxtUserName.Text.Trim() == "") { LblMessage.Text = "请输入用户名"; } else { LblMessage.Text = "请输入密码"; }
WEB技术应用基础习题及答案
1. 以下几个IP地址中()不是合法的IP地址? A.204.1546.21.106 B.127.0.0.1 C.175.146.87.175 D.202.96.0.255 2. HTTP的默认端号是()。 A.80 B.8080 C.70 D.21 3.如果网页(),该网页是动态的。 A.有GIF动画图片动来动去 B.有动画广告飞来飞去 C.能看影视 D.是动态实时生成的 4.以下选项中()是不正确的URL。 A.https://www.360docs.net/doc/f14803203.html, https://www.360docs.net/doc/f14803203.html, C.http://localhost:8080/bookshop/index.jsp D.ftp://ftp.link/down/search.jsp 5.客户发出请求、服务器端响应请求过程中,说法()是正确的。 A.在客户发起请求时,DNS域名解析地址前,浏览器与服务器建立连接 B.客户在浏览器上看到结果后,释放浏览器与服务器连接 C.客户端直接调用数据库数据 D.Web服务器把结果页面发送给浏览器后,浏览器与服务器断开连接 6.以下说法()是正确的。A.因特网和万维网是一回事B.万维网是网络的网络 C.万维网是一个运行在Internet上的全球性、分布式信息发布系统 D.万维网是覆盖全球的网络 1.简述名词:计算机网络、互联网和Inernet。 1.为使页面具有红背景色()语句正确。 A.
B. C. D. 2.以下代码段显示()。- 列表
- 列表
Web技术 | Web技术 |
WEB简答题
1、请编写一个简单的测试https://www.360docs.net/doc/f14803203.html,环境能否正确运行的https://www.360docs.net/doc/f14803203.html,程序。该程序应如何进行部署? ①要求操作系统为Win2000SP4以上,或WinXP,或Win2003 ②安装IIS5.0或以上(在IE地址栏内输入http://localhost,有页面出现,说明IIS安装成功)。 ③安装.NET FrameWork 2.0. ④建立一个test.aspx文件,内容如下: <%@Page Language=”C#”%> <% Response.Write(“我的第一个https://www.360docs.net/doc/f14803203.html,程序”); %> ⑤将该文件复制到c:\intepub\wwwroot文件夹下(或将test.aspx文件所在文件夹配置成虚拟目录) ⑥在IE地址栏内输入http://localhost/test.aspx(或http://localhost/Test/Test.aspx 浏览器内出现下列文字,说明https://www.360docs.net/doc/f14803203.html,安装成功。 我的第一个https://www.360docs.net/doc/f14803203.html,程序 2、CSS的选择器和样式表的类型。 样式表类型1、内联式样式表2、嵌入式样式表3、处部样式表4、输入样式表 CSS的选择器分为两大类:基本选择题和扩展选择器。 基本选择器: 1)标签选择器:选择器的名字代表html页面上的标签 2)类选择器:规定用圆点.来定义 3)ID选择器:规定用#来定义 4)通用选择器:用*定义,将匹配任何标签 扩展选择器: 1)组合选择器:定义的时候用逗号隔开 2)关联选择器(后代选择器):定义的时候用空格隔开 3)伪类选择器(静态伪类:只能用于超链接,动态伪类:针对所有标签都适用) 3、JavaScript的浏览器对象和功能。 窗口(windows)对象:实现对话框的控制;处理框架与框架之间的关系;是其他对象的顶级对象,通过对windows的子对象进行操作,可以实现更多的动态效果文档(document)对象:代表浏览器窗口中的文档,是窗口对象的子对象,可以访问html
第8章Web服务器控件
第8章Web服务器控件 ?特点 会根据Client 端的状况产生一个或多个适当的HTML 服务器控件,它可以自动侦测Client 端浏览器的种类,并自动调整成适合浏览器的输出。 Web 服务器控件还拥有一个非常重要的功能,那就是支持数据绑定(Data Binding );这种能力可以和数据源连结,用来显示或修改数据源的数据。 它们提供了一些能够简化开发工作的特性,其中包括: 丰富而一致的对象模型:WebControl 基类实现了对所有控件通用的大量属性,这些属性包括ForeColor、BackColor、Font、Enabled 等。属性和方法的名称是经过精心挑选的,以提高在整个框架和该组控件中的一致性。通过这些组件实现的具有明确类型的对象模型将有助于减少编程错误。 对浏览器的自动检测:Web 控件能够自动检测客户机浏览器的功能,并相应地调整它们所提交的HTML,从而充分发挥浏览器的功能。 数据绑定:在Web 窗体页面中,可以对控件的任何属性进行数据绑定。此外,还有几种Web 控件可以用来提交数据源的内容。 在HTML 标记中,Web 控件会表示为具有命名空间的标记,即带有前缀的标记。前缀用于将标记映射到运行时组件的命名空间。标记的其余部分是运行时类自身的名称。与HTML 控件相似,这些标记也必须包含runat="server" 属性。下面是一个声明的示例: <asp:TextBox id="textBox1" runat="server" Text="基督山伯爵"> </asp:TextBox> 介绍几种常见的web控件 4.2.1 Label Web控件 ?作用:用来显示文字。 ?语法:
Web程序设计沈士根版课后习题标准答案
Web考试复习资料 第一章 1.填空题 (1).NET Framework主要包括公共语言运行库(CLR) 和类库 (2)ASP.NET网站在编译时,首先将语言代码编译成 MSIL,微软中间语言 (3)一台IIS Web服务器IP地址为211.78.60.19,网站端口为8000,则要访问Web 应用程序User中Default.aspx的URL为 1.78.60.19:8000/Default.aspx (4)可以通过复制网站同步网站上的一个文件 3.选择题 (1)VSEW 2012不支持(A) A.Java B.JavaScript C.LINQ D.Microsoft Ajax (2)下面(D)网站在建立时要求安装Microsoft FrontPage服务器扩展 A.文件系统 B.本地IIS C.FTP站点 D.远程站点 (3)以下选项不属于编程语言的是(A) A.ASP.NET B.Visual Basic C.Visual C# D.Visual C++ 4.简答题 (1)一个学校有多个分院,每个分院有各自的网站,如果提供一台WEB服务器,如何设置?答:每个分院设置各自的虚拟目录。虚拟目录是服务器硬盘上通常不再主目录下的文件夹的一个好记名称(别名),使用别名可以发布多个文件夹下的内容以供所有用户访问,并能单独控制每个虚拟目录的读写权限。 (6)静态网页和动态网页的区别? 答:静态页面是不能随时改动的,静态是一次性写好放在服务器上进行浏览的,如果想改动,必须在页面上修改,然后再上传服务器覆盖原来的页面,这样才能更新信息,比较麻烦,使用者不能随时修改。 动态页面是可以随时改变内容的,有前后台之分,管理员可以在后台随时更新网站的内容,前台页面的内容也会随之更新 第二章 1.填空题 (1)VSEW 2012默认建立的XHTML文件类型是 XHTML5 (2)邮箱的元素是 (6)在单文件页模型中,C#代码必须包含于
Web服务器控件
《10.3Web服务器控件》 主题: (1)Web服务器控件简述 Web服务器控件具有以下特性: ●功能丰富的对象模型,该模型具有类型安全编程功能。由于Web服务器控件是 https://www.360docs.net/doc/f14803203.html,框架全新封装提供的新控件,因此其具有严格的类型安全检查。 ●自动浏览器检测。Web服务器控件可以检测浏览器的功能,并为基本型和丰富型 (HTML 4.0或以上) 浏览器创建适当的输出。 ●对于某些控件,可以使用模板来自定义控件的外观。 ●对于某些控件,可以指定控件的事件是立即发送到服务器,还是先缓存然后在提交 窗体时引发。 ●可将事件从嵌套控件(例如表中的按钮)传递到容器控件。 在设计时的“HTML”视图中,显示在页中的控件的格式如下:
示不设置该属性 ●BackColor属性:表示Web 服务器控件的背景色,默认为空,表示不设置该属性。 ●BorderColor属性:表示Web 控件的边框颜色,默认为空,表示不设置该属性。●BorderStyle属性:表示Web 服务器控件的边框样式,默认为NotSet,其取值为下 列值之一: ?NotSet 不设置边框样式。 ?None 无边框 ?Dotted 虚线边框。 ?Dashed 点划线边框。 ?Solid 实线边框。 ?Double 双实线边框。 ?Groove 用于凹陷边框外观的凹槽状边框。 ?Ridge 用于凸起边框外观的突起边框。 ?Inset 用于凹陷控件外观的内嵌边框。 ?Outset 用于凸起控件外观的外嵌边框。 ●BorderWidth属性:表示Web 服务器控件的边框宽度,默认为空,表示不设置该属 性。 ●Enabled属性:表示是否启用Web 服务器控件。 ●Font属性:表示Web 服务器控件关联的字体属性。 ●ForeColor属性:表示Web 服务器控件的前景色(通常是文本颜色)。 ●Height属性:表示Web 服务器控件的高度。 ●Style属性:包含要在Web 服务器控件的外部标记上呈现的HTML 样式属性 ●TabIndex属性:Web 服务器控件的选项卡索引。默认为0,表示不设置此属性 ●ToolTip属性:表示当鼠标指针悬停在Web 服务器控件上时显示的文本。 ●Width属性:表示Web 服务器控件的宽度。 2.其他的常用属性 ●ID属性:继承自System.Web.UI.Control类,所有Web服务器控件都可以通过该属 性来唯一标识和引用。 ●Text属性:所有接受用户输入,显示数据和提示数据的Web服务器控件都可以通 过Text属性来表示用于在控件上显示的文本,例如TextBox、Lablel、Button、CheckBox等控件。 ●AutoPostBack属性:所有发送窗体或单击按钮时将其数据回传到服务器的Web控 件都具有AutoPostBack属性,该属性是布尔类型。表示当用户修改控件中的文本并使焦点离开该控件时,是否向服务器自动回送。True表示每当用户更改文本框中的文本并使焦点离开该控件时,都会向服务器自动回送,否则为false。默认为false。 ●EnableViewState属性:继承自System.Web.UI.Control类,此属性用于定义控件的
web复习题
《Web开发技术》复习题 一、选择题 15、application对象能在(C)间共享。 A、某个访问者所访问的当前页面 B、某个访问者所访问的网站的各个页面之间 C、该服务器上的所有的访问者的所有jsp页面 D、该服务器上的所有的访问者的所有jsp页面和Java程序 16、在JSP页面中使用bean,我们必须使用JSP动作标签( A )。 A、useBean B、useBeans C、Beans D、JavaBean 17、当useBean标签中的scope属性取值page时,该beans的有效范围是( B )。 A、当前客户 B、当前页面 C、当前服务器 D、所有客户 18、当useBean标签中的scope属性取值( C )时,该beans的有效范围是访问者的会话期间。 A、request B、page C、session D、application 19、JSP程序段的基本语法是( C )。 A、VBScript语言语法 B、JavaScript语言语法 C、Java语法语言 D、C语言语法 20、下列哪一种不是JSP页面的组成元素.( D ) A、JSP标签,如指令标签 B、普通的HTML标记符 C、Java表达式 D、C语言程序 21、在一个JSP页面中不可以出现的注释形式为( B ) A、 B、@rem 注释内容 C、// 注释内容
D、<%-- 注释内容 --%> 22、request.getRemoteAddr()方法的作用是:( B ) A、获取客户提交的信息 B、获取客户的IP C、获取客户机的名称 D、获取服务器的IP 23、当( C )时,JSP引擎产生一个session对象。 A、web应用服务器启动时 B、当web应用服务器启动后,第一个客户来访时 C、当每个客户首次访问服务器上的一个JSP页面时 D、当每个客户首次访问服务器上的一个JSP或HTML页面时 24、当( A )时,JSP引擎产生一个application对象。 A、web应用服务器启动后 B、当web应用服务器启动后,第一个客户来访时 C、当每个客户首次访问服务器上的一个JSP页面时 D、当每个客户首次访问服务器上的一个JSP或HTML页面时 25、JDBC是Java数据库连接API,以下说法中哪些是不正确的?( C ) A、与一个数据库建立连接 B、向数据库发送SQL语句 C、建立ODBC数据源 D、处理数据库返回的结果 26、查询数据库得到的结果集中,游标最初定位在( A )。 A、第一行 B、第一行的前面 C、最后一行 D、最后一行的后面 27、以下关于JavaBean的说法中,错误的是( B )。 A、JavaBean是基于JAVA语言的 B、JavaBean是JSP的内置对象之一 C、JavaBean是一种Java类 D、JavaBean是一个可重复使用的软件组件 28、在编译Servlet或Javabean时,我们使用( A)命令。 A、Javac B、Java C、Servlet D、以上三种都不对
第06章_Web窗体和基本控件习题解答
第6章Web窗体和基本控件 第六章参考解答 1.什么是HTML服务器控件?它与HTML控件的主要区别是什么? 【解答】 通过在元素内添加id和runat="server"特性,将HTML元素转换为HTML服务器控件,然后在服务器端利用C#对其进行操作,这些元素称为HTML服务器控件。HTML服务器控件与HTML 控件的主要区别是前者在服务器端实现相应的功能,后者在客户端实现。 2.简述在服务端动态控制Web服务器控件样式的方法。 【解答】 通过Attributes和Style可以动态控制Web服务器控件样式。如https://www.360docs.net/doc/f14803203.html,bel2.Attributes["Style"] = "color:green; border:solid 1px red;"; 和Anchor1.Style["color"] = "red"; 3. https://www.360docs.net/doc/f14803203.html,状态管理有哪些方式? 【解答】 https://www.360docs.net/doc/f14803203.html,状态管理主要有基于客户端的状态管理和基于服务器的状态管理。基于客户端的状态管理选项只在页中或客户端计算机上存储信息。对于这些选项,在各往返行程间不会在服务器上维护任何信息。具体包括ViewState对象和Cookie对象。基于服务器的状态管理选项只在服务器上存储信息。具体包括Session对象和Application对象。 4.简要说明https://www.360docs.net/doc/f14803203.html,使用缓存机制的好处。 【解答】 https://www.360docs.net/doc/f14803203.html,的缓存机制可以使WEB应用程序将频繁访问的数据,以及需要耗费大量系统资源及时间来创建的数据在首次运行程序时存储在内存中。当页面下次访问时,程序不需要重新耗费资源创建数据,直接从内存中取出数据即可,从而大大提高了程序整体性能。 5. 假如有一个名为Site1.Master的母版页,其中包含一个TextBox1控件,在内容页中如何将其Text属性设置为“123456”,请写出实现代码。 【解答】 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 {
web期末复习
1.web结构也称为浏览器/服务器(B/S)结构,使用超文本传输协议(HTTP)传输数据。 2.B/S(即浏览器/服务器结构)结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。 3.C/S(客户/服务器结构)结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,其缺点主要有以下几个: (1)只适用于局域网。随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种远程访问方式需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。 (2)客户端需要安装专门的客户端软件。首先是涉及安装的工作量,其次是任何一台计算机出问题(如病毒、硬件损坏)都需要进行安装或维护。特别是很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有系统软件升级时,每一台客户急需要重新安装,其维护和升级成本非常高。 (3)对客户端的操作系统一般也会有限制。可能适应于Windows XP,但不能用于Windows8/Vista,或者不适用于Microsoft公司新的操作系统等,更不用说Linux、Unix等。 4.B/S结构与C/S结构比较:可以从以下六个方面比较: (1)数据安全性比较:C/S需要在各地安装多个服务器,而B/S数据集中存放在总部的数据库服务器,B/S相对安全一点。 (2)数据一致性比较:C/S结构中各服务器不是一个时点上的数据,数据永远无法一致,不能用于决策,对于B/S结构的软件来讲,数据集中存放,客户端发生的每一笔业务单据都直接进入中央数据库,不存在数据一致性问题。 (3)数据实时性比较:在集团级应用里,C/S结构不可能随时随地看到当前业务发生的情况,看到的都是事后数据;而B/S结构不同,它可以实时看到当前发生的所有业务,方便快速决策,避免了企业损失、 (4)数据溯源性比较:由于B/S结构的数据是集中存放的,总公司可以直接追溯到各级分支机构的原始业务单,结果可追溯,而C/S结构的软件则不同,它的结果无法追溯。 (5)服务响应及时性比较:C/S结构的软件比较分布广,分散面大,响应时间长,而B/S结构的软件较集中,能快速响应系统要求。 (6)网络应用限制比较:C/S结构的软件仅适用于局域网内部用户或宽带用户。而B/S结构软件可以适用于任何网络结构,特别适于宽带不能到达的地方。 5.web系统的三层结构: (1)数据访问层:实现对数据的访问功能,如增加、删除、修改和查询数据。(2)业务逻辑层:实现业务的具体逻辑功能,如学生入学、退学和成绩管理等。(3)页面显示层:将业务功能在浏览器中显现出来,如分页显示学生信息等。总原则是:每一层都完成相对独立的系统功能。 6.超文本标记语言(HTML)是为网页创建和其他可在网页浏览中可看到的信息设计的一种标记语言。
web服务器控件的取值和属性设置
实训2 web服务器控件的取值和属性设置 09计算机网络史丹 一、实训目的 1、掌握标签Label,文本框TextBox,单选按钮组RadioButtonList和多选按钮组CheckLBoxList,还有一个按钮Button控件的属性设置 2、学会如何获取上面这些控件的值 3、学会如何编写代码 二、实现功能及要求 练习添加新的Web窗体,设计一个用户注册界面,包括:姓名、账号、密码、性别、爱好、电子邮箱、说明;单击确定按钮后,在标签上输出用户的输入信息。 三、界面设计及后台代码 在https://www.360docs.net/doc/f14803203.html,应用程序开发界面左边的工具栏中,拖出8个标签Label,5个文本框TextBox,1个单选按钮组RadioButtonList和1个多选按钮组CheckLBoxList,还有一个按钮Button。分别在8个标签属性框找到Text属性输入对应的内容,在button的属性框里找到Text的属性,然后编写相应的内容;在单选按钮组RadioButtonList和多选按钮组CheckLBoxList 有一个项目集合(Items Collection)属性,单击后会出现添加项目窗口并可设置项目的显示文本和相应的值,并在属性框里设置他们的排列方式为水平排列。 如下图所示: 然后,双击确定按钮,在按钮的Click事件中写入如下代码,又双击复选框组CheckBoxList,在其中编写如下代码: using System; using System.Collections; using https://www.360docs.net/doc/f14803203.html,ponentModel; using System.Data; using System.Drawing;
WEB习题
( )1. VBScript程序语言是Microsoft公司将VB(Visual Basic)程序语言加以简化,所衍生出来的程序语言。 ( )2. HTML也有所谓如“IF…Then…”的判断语句。 ( )3. VBScript的注释符号为“//”。 ( )4. VBScript的程序代码很难保密,容易被偷窥。 ( )5. 常量是一种不会改变的数,定义常量要使用“Dim常量名称”。 ( )6. 运算符“+”也可以用来连接字符串。 ( )7. 运算符“Mod”可以算出除法结果中的整数。 ( )8. VBScript中次方的算法是使用“^”。 ( )9. “30 < 1 OR 5 > 4”计算出的结果“False”。 ( )10. 定义数组时要用“Const数组名”。 二、操作题 1. 设计一个VBScript程序,能计算出边长为5厘米的正方形面积,并显示出计算结果,如图2-8所示。<\Ch02\正方形面积.htm> 2. 设计一个VBScript程序,能比较边长为5厘米的正方形和半径为5厘米的圆形哪个面积比较大,如果圆形比较大,就显示“True”,若正方形比较大,就显示“False”,如图2-9所示。<\Ch02\比较大小.htm> 3. 设计一个VBScript程序,计算出边长为5厘米的正方形和半径为5厘米的圆形的面积差,并显示出来,如图2-10所示。<\Ch02\面积差.htm> 参考答案: 一、是非题 T F F T F T F T F F 二、操作题 1.