第5章 ASP.NET高级控件
5.1 填空题
可以通过简单地改变Calendar控件的属性来得到丰富的外观表现形式。
当用户在Calendar控件中选择一天、整周或整月时,将触发SelectionChanged事件。 FileUpload控件在客户端包含一个文本输入框和一个浏览按钮,供用户选择本地文件。
5.2 问答题
5.2.1
Calendar控件是一个功能丰富的控件,该控件本身的功能主要包括哪些?
显示一个日历,包括一个月的详细日历和其他一些相关信息 允许用户选择一天、一周或一个月 允许用户移到下一个月或上一个月 以编程方式控制选定日期的显示 5.2.2
FileUpload控件在上传文件时,使用相对路径还是绝对路径?上传文件的基本步骤是什么?
使用绝对路径。基本步骤为: 1、创建文件存放的文件夹。
2、向页面上拖放一个FileUpload控件、一个Button控件。 3、修改Button控件的单击处理事件。 4、确定文件存放的绝对路径。
5、适用FileUpload控件的SaveAs方法将文件保存到指定的位置。 5.2.3
Wizard控件的主要功能是什么?
Wizard控件可以为用户提供完成多个步骤操作的方法,并方便地在各步之间前后导航。 Wizard 控件提供了一种简单的机制,允许轻松地生成步骤、添加新步骤或重新安排步骤。无需编写代码即可生成线性和非线性的导航。该控件能够自动创建合适的按钮,例如“下一步”、“上一步”、“完成”等,并允许用户自定义控件的用户导航。通过配置可以使某些步骤只能被导航一次。默认情况下,Wizard控件显示一个包含导航链接的工具栏,这让用户可以从当前步骤自由转到其他步。
210
第6章 构建网站
6.1 填空
填写文件类型扩展名 文件类型 .aspx 说明 基于ASP.NET的动态Web文件,该文件可包含Web控件和其他业务逻辑。 运行时要编译的类源代码文件。一般存放在App_Code子目录;但如果是Web内容文件的代码隐藏文件,则与其主文件位于同一目录。 已编译的类库文件。一般存放在Bin子目录中。或者,可以将类的源代码放在App_Code子目录下。 母版页,它定义应用程序中引用母版页的其他网页的布局。 用于确定HTML元素格式的层叠样式表文件。 用HTML代码编写的静态Web文件。 .cs、.jsl、.vb .dll .master .css .htm、.html Global.asax文件是ASP.NET应用程序所拥有的一个全局性文件,它保存在应用程序的根文件夹中。
新创建的Global.asax包括5个空的全局事件处理函数:Application_Start、Application_End、Application_Error、Session_Start和Session_End。
Request对象表示客户端向服务器发送的HTTP请求。 Response对象用于服务器向客户端发送数据。
Response对象用来控制发送给客户端的信息,包括直接发送信息给浏览器、重定向到另一个URL或设置Cookie等。
Application对象在某个应用程序的所有用户之间共享信息,并在服务器运行期间持久地保存数据。
Application对象在第一次有客户端请求本应用程序的任何URL时创建。 Session对象存储特定的用户会话所需要的信息。
Server对象提供了访问服务器对象的方法和属性,可以获取服务器的信息,如应用程序路径等。
6.2 问答
6.2.1
简述Global.asax和Web.config的作用。
Global.asax文件是ASP.NET应用程序所拥有的一个全局性文件。该文件中定义了应用程序的全局事件,它保存在应用程序的根文件夹中;ASP.NET的配置信息存储在XM格式的Web.config文件中。可以出现在ASP.NET应用程序的多个目录中。
211
6.2.2 Response对象什么作用?
Response对象用来控制发送给客户端的信息,包括直接发送信息给浏览器、重定向到另一个URL或设置Cookie等。 6.2.3
Request对象什么作用?
可以使用Request对象访问基于HTTP请求传递的所有信息,如用POST或GET方法传递的参数、Cookie和客户端证书等。 6.2.4
Application对象什么作用?有什么优缺点?
Application对象在某个应用程序的所有用户之间共享信息,并在服务器运行期间持久地保存数据。
Application对象在第一次有客户端请求本应用程序的任何URL时创建。它存储在服务器的内存中,因此与在数据库中存储和检索信息相比,它的执行速度更快。也正是由于它存储在内存中,Application对象适合用于存储那些数量较少、不随用户的变化而变化的常用数据。
需要注意的是:1、由于Application对象存储在服务器内存中,因此每当停止或重新启动应用程序时,Application对象都将丢失。例如,如果更改了Web.config文件,则要重新启动应用程序,所有应用程序状态都将丢失;2、Application对象采用自由线程模式,即Application对象数据可由多个线程同时访问。因此,有时可能需要以线程安全的方式进行应用程序变量的更新。 6.2.5
Session对象的作用以及与Application对象的区别?
Session对象存储特定的用户会话所需要的信息。当用户在应用程序的页之间跳转时,存在Session对象中的变量不会被清除,只要该用户还在访问应用程序的页面,这些变量就始终存在。
当用户请求来自应用程序的Web页时,如果该用户还没有会话,系统会自动为其创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。
Session对象与Application对象的本质区别在于:每个应用程序只有一个Application对象,被所有用户所共享;而每个应用程序可以有多个Session对象,应用程序的每个访问用户都有自己独享的一个Session对象。 6.2.6
Server对象什么作用?
Server对象提供了访问服务器对象的方法和属性,可以获取服务器的信息,如应用程序路径等。
212
第7章 应用ADO.NET编程
7.1 填空
使用ADO.NET进行编程主要包括:使用Connection对象来连接数据库,使用Command对象来执行数据库命令,使用DataReader对象来读取数据;或者使用DataAdapter对象将数据库中的数据填充到DataSet对象中,对DataSet对象中的数据进行操作等。
使用DataAdapter读取操作方式,调用Fill方法,将数据从数据库读到DataSet。 使用DataAdapter更新操作方式,调用Update方法,将对DataSet表的更改写回数据库。
DataSet是数据库的内存驻留表示形式,它是支持ADO.NET的断开式、分布式数据方案的核心对象。
7.2 问答
7.2.1
ADO.NET可以提供哪几种数据访问模式?各种数据访问模式分别有什么特点?
ADO.NET提供连接式和非连接式两种数据访问模式。
非连接式的数据访问主要使用DataSet对象。使用DataSet对象不一定非要与数据库相连接,但一般情况下,我们是把DataSet对象作为数据库(或部分数据库、或来自多个数据源的数据)在内存中的一个副本来使用。程序可以象直接操作数据库中的数据一样操作DataSet对象中的数据。
连接式的数据访问主要使用DataReader对象。当需要处理大量数据时,一次性地将所有数据导入到内存再进行处理并不是一个好的方法。使用DataReader对象必须用连接的方式来访问数据库,一次只从数据库中取得必要的数据进行处理,处理完后,再从数据库中继续读入需要的数据。使用DataReader对象采用的是一种只读的、向前的、快速的数据库读取机制,这样可以提高应用程序的执行效率。 7.2.2
简述DataSet。
DataSet可以看成内存驻留形式的数据库,它提供与真正数据库一致的关系编程模型。一个DataSet对象内可以包含多个DataTable对象,由Tables属性表示;表与表之间的关系由Relations属性表示;DataTable由列的集合(属性名为Columns)以及约束的集合(属性名为Constraints)来定义表的架构;DataTable还包含行的集合(属性名为Rows),表示表中的数据,其中每一行数据由一个DataRow对象表示。 7.2.3
Command对象有哪两种主要方法?分别什么作用?
ExecuteReader()方法将查询结果以一个SqlDataReader对象返回;ExecuteNonQuery()
213
方法可执行任意的Update、Insert和Delete命令。
214