《Web程序设计》复习题库及答案

更新时间:2024-02-02 10:49:09 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《Web程序设计》练习测试题库

一、单选题

1、下面哪个是属性而不是标记( )。 A、IMG B、FORM C、 HREF D、TD 2、 App_Data目录用来放置( )。

A、共享的数据库文件 B、共享文件 C、 被保护的文件 D、代码文件 3、 下面关于绝对路径的说法,正确的是( )。

A、绝对路径是被链接文档的完整URL,不包括使用的传输协议 B、使用绝对路径需要考虑源文件的位置

C、在绝对路径中,如果目标文件被移动,则链接同样可用 D、创建外部链接时,必须使用绝对路径

4、系统提供数据库通用接口的目的是为了( )。 A、提高程序运行的效率

B、应用程序设计不必考虑数据库的类型 C、保证程序安全 D、易于维护

5、在配置GridView控件的SqlDataSource数据源控件过程中,单击【高级】按钮的目的是( )。

A、打开其他窗口 B、输入新参数 C、生成SQL编辑语句 D、优化代码 6、下面几个图形控件中,不能执行鼠标单击事件的控件是( )。 A、ImageButton B、Image C、ImageMap D、ImageURL 7、web.config文件不能用于( )。

A、Application事件定义 B、数据库连接字符串定义 C、对文件夹访问授权 D、基于角色的安全性控制 8、CSS样式不包括( )。

A、基于元素的样式 B、基于类的样式 C、基于ID的样式 D、基于文件的样式 9、下面对protected修饰符说法正确的是( )。

A、只有在派生类中访问 B、只能在所属的类中访问 C、能在当前应用程序中访问 D、能在所属的类或派生类中访问

10、使用ValidatorSummary控件需要以对话框形式显示错误信息,则应( )。 A、设置属性ShowSummary值为true B、设置属性ShowMessageBox值为true C、设置属性ShowSummary值为false D、设置属性ShowMessageBox值为false

11、Session状态和Cookie状态的最大区别是( )。

A、存储的位置不同 B、类型不同 C、生命周期不同 D、容量不同 12、下面有关SqlDataSource控件的描述中错误的是( )。 A、可连接Access数据库

B、可执行SQL Server中的存储过程 C、可插入、修改、删除、查询数据 D、在数据操作时,不能使用参数

13、Login控件的属性DestinationPageUrl的作用是( )。 A、登陆成功时的提示 B、登录失败时的提示 C、登录失败时转向的网页 D、登录成功时转向的网页 14、母版页中使用导航控件,要求( )。 A、母版页必须在根文件夹下 B、母版页名字必须为Web.master

C、与普通页一样使用,浏览母版页时就可以查看效果 D、必须有内容页才能查看效果

15、如果类名为Myclass,那么( )可以作为它的构造函数。 A、~Myclass() B、Myclass(double a) C、~Myclass(double a) D、void Myclass() 16、下面对于抽象类描述不正确的是( )。

A、抽象类只能作为基类使用 B、抽象类不能定义对象 C、抽象类可以定义实例对象 D、可以实现多态

17、下面控件中,( ) 可以将其他控件包含在其中,所以它常用来包含一组控件。 A、AdRatator控件 B、Button控件 C、Panel控件 D、Wizard控件

18、下面SqlComand对象方法中,可以连接执行Transact-SQL语句并返回受影响行数的是( )。

A、ExecuteReader B、ExecuteScalar C、Connection D、ExecuteNonQuery 19、下面哪些不是ASP.NET页面间传递参数的方式?( )。 A、使用QueryString B、使用Session变量 C、使用Server.Transfer D、使用ViewState

20、如果需要确保用户输入大于30且小于60的值,应该使用( )验证控件较合理。 A、RequiredFieldValidator B、CompareValidator

C、RangeValidator D、RegularExpressionValidator

21、如果要在网页上添加一个计算器来统计人数的话,我们可以选用( )对象对计数变量Count的加法操作来实现。

A、Session B、Application C、Server D、Page 22、下面哪一个对象用于与数据源建立连接:( )。

A、Command B、Connection C、DataReader D、DataAdapter 23、Global.asax文件中Session_Start事件何时激发( )。 A、在每个请求开始时激发 B、尝试对使用进行身份验证时激发 C、启动会话时激发 D、在应用程序启动时激发

24、在ASP.NET应用程序中访问SqlServer数据库时,需要导入的命名空间为( )。 A、System.Data.Oracle B、System.Data.SqlClient C、System.Data. ODBC D、System.Data.OleDB

25、ASP.NET框架中,服务器控件是为配合Web表单工作而专门设计的。服务器控件有两种类型,它们是( )。

A、HTML控件和Web控件 B、HTML控件和XML控件 C、XML控件和Web控件 D、HTML控件和IIS控件 26、下列关于构造函数的描述正确的是( )。 A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数

27、Session对象的默认有效期为多少分钟:( )。

A、10 B、15 C、20 D、应用程序从启动到结束

28、当需要用控件来输入性别(男,女)或婚姻状况(已婚,未婚)时,为了简化输入,应该选用的控件是( )。

A、RadioButton B、CheckBoxList C、CheckBox D、RadioButtonList 29、Global.asax文件中Session_Start事件何时激发( )。 A、在每个请求开始时激发 B、尝试对使用进行身份验证时激发 C、启动会话时激发 D、在应用程序启动时激发

30、下列选项中,只有( )是错误的。 A、asp.net提供了多种语言支持 。 B、asp.net 提供了多种平台支持。

C、asp.net提供跨平台支持,也可以在Unix下执行

D、asp.net采取编译执行的方式,极大的提高了运行的性能。 31、下列选项中,哪一个是.net应用的基础?( )。

A、公共语言运行类 B、虚拟机 C、基类库 D、类库

32、在ADO.NET对象模型中,.NET数据提供程序包括以下的对象,除了( )。 A、DataReader B、DataAdapter C、DataTable D、Command 33、网页重定向功能可以有内置对象( )的方法Redirect实现。

A、Server B、Response C、Request D、Application 34、下列对象可以向dataset中填充数据的是( )。

A、SqlConnection B、SqlCommand C、SqlDataReader D、SqlDataAdapter 35、表示只有所属的成员才能访问的修饰符是( )

A、public B、protected C、private D、Internal

36、需要写入与HTML标记相同的文本时,应利用以下何种方法进行编码:( )。 A、Response.Server.(HtmlEncode (“”)) B、Response.Write(“Server.HtmlEncode (“”)”) C、Response.Write(Server.HtmlEncode (“”)) D、Server.Server(Write.HtmlEncode (“”))

37、当一种服务器端控件有多种外貌的定义时,用( )属性来区别它们的定义。

A、ID B、Color C、BackColor D、SkinID

38、在图片校验码的图片中增加一些线条或点阵是为了( )。

A、使图片更美观 B、是图片更加规整 C、干扰机器人的识别 D、使图像更丰富 39、用户控件是后缀为( )的文件。

A、.master B、.asax C、.aspx D、.ascx

40、在三层架构中,客户端是系统的前台,负责用户界面的显示;后台负责数据的存储和管理;而中间层负责( )。

A、非UI的逻辑处理 B、安全监督 C、代码优化 D、协助后台管理

二、 填空题

1. ADO.NET中包含的对象有 、 、 、 、 。 2. 试列举出常用的服务器端数据验证控件(不低于4个)

、 、 、 。 3. Application和Session对象的事件分别在什么时候发生

、 。 4. 在使用DataView对象进行筛选和排序等操作之前,必须指定一个 。 对象作为DataView对象的数据来源。

5. Cookie是Web服务器保存在用户硬盘上的一段文本,分会话Cookie和永久Cookie。如要定义一个永久Cookie,则必须设置Cookie的 属性。 6. 在ASP.NET应用程序中访问SqlServer数据库时,需要导入的命名空间为 。

7. 如果需要确保用户输入大于100的值,应该使用 验证控件。

8. ASP.NET中 对象可用来决定何时或如何将输出由服务器端传送至浏览器。

9. 若要将浏览器端导向至其他网页,可使用 方法。 10. HTML通过 来标记要在网页中显示的各个部分, 同时还用于描述超文本的显示方式。

11. 在DIV+CSS盒子模型中设置“上外边距”的属性是 。 12. 在DIV+CSS布局中,DIV承载的是 ,而CSS承载的是 ,从而实现内容与样式的分离。

13. ASP.NET与ASP相比,其优点是 、 、 等。

14. 在ASP.NET基本控件中不支持任何事件的控件是 。 15. 当用户在TextBox控件中按Enter或Tab键,TextBox控件将失去输入焦点,

属性确定当控件失去输入焦点时,页面是否自动回传到服务器进行处理。

16. 在使用RadioButton控件设计一组选择题时,其 属性名应一致。

17. 能够控制所包含控件的可见性及外观的控件是 控件。 18. 在使用FileUpLoad控件时,用户可以通过直接输入文件名或通过浏览按钮选择文件,然后调用FileUpload的 方法保存到磁盘上。

19.PlaceHolder控件与Panel控件的根本区别在于: 有客户端脚本,在客户端对控件的分组进行操作; 没有客户端脚本仅在服务器端起分组的作用。

20. 在使用 CustomValidator控件时,如果要在服务器端进行验证,需要为该控件的 事件编写处理函数;如果要在客户端验证,则需要在控件的 属性中指定客户端验证脚本的函数名称。 21. 用户控件的扩展名为 。

22. Request 对象的 属性获取当前请求的虚拟路径。 23. Application对象在 时候生成;在 时,Application对象都将丢失。 24. 当用户在客户端直接关闭浏览器退出Web应用程序时,并不会触发Session_End事件,Session_End事件只有在 、 、 时才会被触发。

25. DataAdapter表示一组 SQL命令和一个数据库连接,它们用于 和 。

26. ASP.NET中参与数据绑定的有两类服务器控件: 和 。 27. GridView控件中 方法可以根据指定的排序表达式和方法对Gridview控件进行排序。

28. 在包含多个表的DataTable对象的DataSet中,可以使用 对象来使一个表和另一个表相关。

29. DataReader可以对数据库进行___________和___________的访问。

30. 向数据源插入一条记录,需要将命令对象的CommandText属性设臵为SQL语言的Insert命令后,再调用命令对象的 方法。 31. 将一个Button控件加入到DataList控件的模板中,其CommandName属性设臵为“buy”,当它被单击时将引发DataList控件的 事件。 32. 语句DropDownList1.Items[0].Selected=true;的作用是 。

33. 要掩盖TextBox控件中文本,需要将控件的TextMode属性设置为 。

34. 将数据集中的数据同步到数据源中,必须调用DataAdapter的 方法。

35. 将DropDownList控件中的首项移除的语句应写为 。

36. 要使TextBox控件只读,需要将其 属性设置为true。

37. 使用Response对象的 方法可以实现用户从一个Web窗体重定向到另一个窗体。

38. 使用Repeater控件时,必须使用的模板是 。 39. ASP.NET中,应用程序的配置文件是 。

40. 对象提供对服务器上的方法和属性的访问,其中大多数方法和属性是作为实用程序的功能服务的。

41. 获取本地时间的嵌入式表达式为 42. 数据绑定表达式使用 和 方法将数据绑定到控件 ,并将更改提交回数据库。

43. 将GridView控件绑定到ADO.NET查询结果的一般方法为: GridView控件.DataSource=查询结果对象; ;

其中,查询结果对象可以是DataReader、DataSet、DataTable。

44. 网站结构中,用于存放ASP.NET AJAX相关的文件的保留文件夹是 。 45. 保留文件夹App_Code用于 。 46.数据访问层封装访问数据库的各种通用操作,如连接数据库、数据的读/写操作和断开数据库连接等,该层由 类实现。

47.业务逻辑层调用数据访问的功能,为上层页面提供数据服务。它的作用是对上层 ,使上层只关心数据之间的逻辑关系,从而简化数据访问的接口。

48. Application对象的初始化是在 文件中编写的。

49. 事件是当服务器控件加载Page对象时发生的。也就是说,每次加载页面时,无论是初次浏览还是通过单击按钮或者其他事件再次调用页面,都会触发此事件。 50. 要验证文本框中输入的数据是否为合法的邮编,需要使用 验证控件。

三、 简答题

1、Web是一种典型的分布式应用框架,请叙述服务器端动态Web页面的工作原理? 2、C#数据类型分为哪两大类?请叙述这两类数据的区别? 3、ADO.NET中常用的对象有哪些?分别描述一下。 4、ASP.NET基本内置对象包括哪些?请分别综述其功能?

5、叙述ASP.NET Web窗体事件模型如何实现尽量减少事件中信息的往返次数? 6、private、protected、public、internal修饰符的访问权限?

7、请叙述数据库应用程序的基本开发流程?

8、Application对象和Session对象有什么联系和区别? 9、试述Session与Cookie的异同? 10、简述HTTP协议处理事务的基本步骤? 11、简述Web服务器向浏览器提供服务的过程

12、把一个HTML网页文件直接更改扩展名为.asp行不行?

13、.NET Framework针对不同的数据库,设计了下面几种数据提供程序?

14、在SQL数据库的连接中,需要使用.NET提供的SqlConnection对象来对数据库进行连接,使用SqlConnection连接Access数据库和Sqlserver数据库,所引用的命名空间有什么区别?

15、SQL SERVER数据库有哪两种连接模式? 16、什么是数据绑定?简述其工作原理。 18、列举ASP.NET 页面之间传递值的几种方式?

19、请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 20、Global.aspx文件在ASP.NET网站中有什么作用?

四、 程序填空题 1. (1)下面的网页程序Login.aspx用于网站的登录验证,当用户击点登录按钮时,执行下列代码。下述代码将连接位于D:\\Inetpub\\www\\App_Data\\文件夹下的PSWeb.mdb数据库,从Login表中查询指定的用户名和密码是否存在。如果用户输入的用户名或密码不正确,给出相应的提示;如果正确,则转向Main.aspx网页。请将下列程序补充完整。

Private void btnLogin_Click(object sender, System.EventArgs e) { String username=txtUserName.Text; // 获取输入的用户名 String passowrd=txtPassword.Text; // 获取输入的密码 bool canLogin=false;

// 标记变量,是否允许登录,默认为不允许

OleDbConnection conn = new OleDbConnection();

conn.ConnectionString=\+\

string sqlString=@\+\OleDbCommand comm. = new OleDbCommand(sqlString, conn);

conn.Open();

OleDbDataReader dr = comm. ( 2 ) ;

If ( ( 3 ) ) // Login表中有此用户名和密码,则允许登录 {

canLogin = true; }

( 4 ) ; // 关闭数据库连接 if ( canLogin ) // 如果验证通过允许登录 {

( 5 ) ; // 跳转到main.aspx页面 }

else { Response.Write(\您输入的用户名或密码')\ } }

提示:Command对象的常用方法有:ExcuteReader, ExcuteNonQuery, ExcuteScalar。

(2)根据提示完成以下程序

private void Button1_Click(object sender, System.EventArgs e)

{

//先清空ListBox2中的选项 ( 1 ) ;

//将ListBox1中被选中的项添加到ListBox2中

For ( int i=0;i< this.ListBox1.Items.Count;i++) {

If (ListBox1.Items[i]. Selected) {

(2) .Add ( (3) );

} }

//将ListBox1中被选中的项删除

For ( int i=0; i< this.ListBox1.Items.Count; i++) {

if(this.ListBox1.Items[i].Selected) {

this.ListBox1.Items. (4) ( (5) );

} } }

2. 以下程序是实现简单的发表留言,显示留言的功能。

Default.aspx代码: ??

姓名 留言

<%# Eval(\

??

Default.aspx.cs代码: using System; using System.Data;

using System.Data.SqlClient; using System.Configuration; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page {

protected void Page_Load(object sender, EventArgs e) {

if ( ( 1 ) )

{

SetBind(); } }

protected void btn_SendMessage_Click(object sender, EventArgs e) {

SqlConnection on=True\ string

Sql

=

\

(

2

)

tbGuestBook

(UserName,PostTime,Message,IsReplied,Reply) VALUES ('\+ tb_UserName.Text + \ SqlCommand cmd = new SqlCommand( ( 3 ) , conn); conn.Open();

cmd. ( 4 ) ;

SetBind();

ClientScript.RegisterStartupScript(this.GetType(),\

留言成功!');\

conn. ( 5 ) ; tb_Message.Text = \ tb_UserName.Text = \ }

private void SetBind() {

SqlConnection on=True\

string Sql = \6 ) tbGuestBook ( 7 ) PostTime DESC\

SqlDataAdapter da = new SqlDataAdapter(Sql, conn); DataSet ds = new DataSet(); da. ( 8 ) (ds); DataTable dt = ds.Tables[0];

conn

=

new

SqlConnection(@\

conn

=

new

SqlConnection(@\

rpt_Message. ( 9 ) = dt; rpt_Message. ( 10 ) ; } }

3. 后台实现用户注册和登录功能

using System;

using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using ( 1 ) ;

public partial class Login : System.Web.UI.Page {

protected System.Data.SqlClient.SqlConnection Cn; protected System.Data.SqlClient.SqlCommand Cm; protected System.Data.SqlClient.SqlDataAdapter Da; protected System.Data.DataSet Ds;

protected System.Data.SqlClient.SqlDataReader Dr; protected void Page_Load(object sender, EventArgs e) {

if (Session[\ {

Response.Redirect(\如果Session为空,则转到登陆页.

} }

protected void Regist_Click(object sender, EventArgs e) {

string str = ConfigurationSettings.AppSettings[\ Cn = new SqlConnection( ( 2 ) ); Cn.Open();

Cm = new SqlCommand(\ ( 3 ) userlogin WHERE username='\ Dr = Cm.ExecuteReader();

if ( ( 4 ) ) //如果存在相同用户名 {

Response.Write(\用户已被注册');

window.window.location.href='Login.aspx';\ Dr.Close(); } else {

Dr.Close();

SqlCommand ( 5 ) = new SqlCommand(\INTO userlogin (username,password,email,question,answer) VALUES ('\+ nametex.Text + \questex.Text + \ int i = Cm2.ExecuteNonQuery(); Response.Write(\注册成功');window.window.location.href='Login.aspx';\ }

Cn. ( 6 ) ; }

protected void Login_Click(object sender, EventArgs e) {

if ( (7) ) {

string str = ConfigurationSettings.AppSettings[\ Cn = new SqlConnection(str); Cn.Open();

Cm = new SqlCommand(\* FROM userlogin WHERE username='\ Dr = Cm. ( 8 ) ; if (Dr.Read())//用户名和密码是否正确 {

Session[\ Session[\

Response.Write(\登陆成功');window.window.location.href='Login.aspx';\ Dr.Close();

} else {

Response.Write(\用户名或密码错误!如果还未注册,请先注册!');window.location.href='Login.aspx';\ }

Cn.Close(); } else {

Response.Write(\请输入用户名和密码!');window.window.location.href='Login.aspx';\ } } }

4. (1)请编写程序段,判断年龄,如果大于18岁,则显示“已成年”,否则显示“未成

年”,要求使用一个表单进行交互,表单处理页面文件为本页面文件如test1.asp。请补全如下代码:

<%@ Language=vbscript %>

<%

age= ( 4 ) ; If ( ( 5 ) )then

Info=\已成年\Info=\未成年\

response.write( Info );

%>

(2) 下面的程序段用来计算客户是第几次访问本站。请填写其中的空格。

<%

Dim varNumber

varNumber= Request.Cookies(\If( ( 1 ) ) Then //cookie空时 varNumber=1; Else varNumber= ( 2 ) ; End If

( 3 ) =varNumber; //创建名为number的cookie ( 4 ) =#2012-1-1#; //设置cookie的过期日期 Response.Write \您是第\次访问本站\%>

5.(1) 请编写两个页面,在第一个页面中客户要输入姓名,然后保存到Session中。在第二个页面中读取该Session信息,并显示欢迎信息。如果客户没有在第一页登录就直接访问第二页,要将客户重定向回第一页。 请补全如下程序代码:

Page1文件内容

<%

If( ( 1 ) <>\

( 2 ) = ( 3 ) ; //‘创建一个SESSION变量,并赋值 End If %>

Page2文件内容

<%

If( ( 4 ) =\

( 5 ) ; // 重定向到指定的页面 End If %>

<%

Response.Write & Session(\您好,欢迎光临\%>

(2)实现用户登录功能 default.aspx ??


ID=\

runat=\

Height=\

Width=\

default.aspx.cs

using System;

using System.Configuration; using System.Data; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.HtmlControls; using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Data.SqlClient;

using System.Data.Common;

public partial class _Default : System.Web.UI.Page {

SqlConnection m_Sqlconn;

protected void Page_Load(object sender, EventArgs e) {

if ( ( 1 ) ) {

this.tbUserName.Text = \ this.tbPassPort.Text = \ }

DBConnect(); }

public static bool CheckCode(string text) {

string txt = System.Web.HttpContext.Current.Session[\as string;

return text == txt; }

protected void btLogin_Click(object sender, EventArgs e) {

string l_strUserName = this.tbUserName.Text.Trim(); string l_strPassPort = this.tbPassPort.Text.Trim();

string l_sqlTemp = \* from tbl_user where username = '\+ l_strUserName + \

SqlCommand comm = new SqlCommand(l_sqlTemp, (2) );

if (comm.ExecuteScalar() != null)

{

this.lblResult.Text = \登陆成功\ } else {

this.lblResult.Text=\用户登录信息错误,请重新输入\ }

m_Sqlconn. (3) (); }

public void DBConnect() {

string conn =

System.Configuration.ConfigurationSettings.AppSettings[\

// \

m_Sqlconn = new (4) (conn); try {

m_Sqlconn.Open(); }

catch(Exception e) {

this. (5) = e.ToString(); } } }

五、论述题

1、试述ASP.NET对数据输入的验证以服务器验证为主,浏览器端验证为辅的原因? 2、论述ASP.NET 4.0的数据源控件有几种类型?各用于访问什么类型的数据。 3、论述当网站采用三层架构时,这三层架构是如何分工的,有什么优点。

4、论述为了使得网站众多张网页显示风格一致,ASP.NET 4.0使用了哪些技术,每种技术从哪些方面使得显示风格一致的。

5、简述ASP.NET 4.0的事件模型,系统采用什么方式来减少信息往返次数的。

《Web程序设计》练习测试题库参考答案

一、单选题

1、C 2、A 3、D 4、B 5、C 6、B

7、A 8、D 9、D 10、B 11、A 12、D 13、D 14、D 15、B 16、B 17、C 18、D 19、D 20、C 21、B 22、B 23、B 24、B 25、A 26、C 27、C 28、A 29、B 30、C 31、A 32、C 33、B 34、D 35、C 36、D

37、D 38、C 39、D 40、A 二、填空题

1. Connection对象; Command对象;DataReader对象;DataAdapter对象;DataSet对象 2. RequiredFieldValidator(必须项);CompareValidator(与某值的比较);RangeValidator(范围检查);RegularExpressionValidator(模式匹配);CustomValidator(用户定义); 3. Application和Session对象的事件分别是在应用程序启动时和会话启动时发生的 4. DataTable 5. Expires

6. System.Data.SqlClient 7. RangeValidator 8. Response 9. Redirect 10. 标记符(tag) 11. margin-top 12. 内容;样式

13. 编译执行,效率更高;前后台代码分离;安全性相对较高。 14. Label控件 15. AutoPostBack 16. GroupName 17. Panel 18. SaveAs

19. Panel控件;PlaceHolder控件

20. ServerValidate;ClientValidationFunction 21. .ascx 22. FilePath

23. 第一次有客户端请求本应用程序的任何URL时;每当停止或重新启动应用程序 24. 服务器重新启动;用户调用了Session_Abandon()方法;未执行任何操作达到了

Session.Timeout设置的值(超时) 25. 填充 DataSet;更新数据源

26. 数据源(DataSource)控件;数据绑定控件 27. Sort 28. DataRelation 29. 只读;只向前 30. ExecuteReader 31. ItemCommand 32. 使首项被选中 33. Password 34. Fill

35. DropDownList.Items.RemoveAt(0); 36. ReadOnly 37. Redirect 38. ItemTemplate 39. Web.config 40. Server

41. <%=DateTime.Now.ToString() %> 42. Eval ;Bind

43. GridView控件.DataBind(); 44. Bin文件夹

45. 存放系统的各公用类 46. Database

47. 屏蔽数据库操作的细节 48. Global.asax 49. Page_Load

50. RegularExpressionValidator

三、简答题

2、Web是一种典型的分布式应用框架,请叙述服务器端动态Web页面的工作原理? 【参考答案】

Web是一种典型的分布式应用框架。Web应用中的每一次信息交换都要涉及客户端和服务器端两个层面。服务器端动态Web页面工作原理具体步骤如下: (1)Web作者编写一套创建HTML的指令,并将这些指令保存到文件中。

(2)一段时间后,用户在其浏览器中输入Web页面请求,该请求就从浏览器传递到Web服务器。

(3)Web服务器确定指令文件的位置。 (4)Web服务器根据指令创建HTML流。

(5)Web服务将新创建的HTML流通过网络传回浏览器。 (6)浏览器处理HTML,并显示Web页面。

3、C#数据类型分为哪两大类?请叙述这两类数据的区别? 【参考答案】

(1)C#数据类型分为值类型和引用类型。值类型又分为简单值类型和复合值类型,其中简单值类型有整数、字符、布尔和实数;复合值类型包括结构和枚举;引用类型包括类、接口、数组等。

(2)值类型与引用类型的区别:对于值类型,每个变量直接包含自身的所有数据,每创建一个变量,就在内存中开辟一块区域;而对于引用类型,每个变量只存储对目标数据的引用,每创建一个变量,就增加一个指向目标数据的控件。

(3)值类型和引用类型之间可以相互转换,从值类型到引用类型的隐式转换称为装箱转换,从引用类型到值类型的显式转换叫做拆箱转换。 4、ADO.NET中常用的对象有哪些?分别描述一下。 【参考答案】

ADO.NET常用的对象有:

(1)Connection对象,建立与特定数据源的连接。

(2)Command对象,用于执行访问数据库命令,以返回数据、修改数据、运行存储过程以及发送检索参数信息。

(3)DataReader对象,从一个数据源读取只进的只读数据流。

(4)DataAdapter对象,提供连接DataSet对象和数据源的桥梁,使用Command对象在数据源中执行SQL命令,以便将数据加载到DataSet中,并使对DataSet中数据的更改与数据源保持一致。

(5)DataSet对象,与DataAdapter对象配合,完成数据库操作的增加、删除、修改、更新

等操作。

5、ASP.NET基本内置对象包括哪些?请分别综述其功能? 【参考答案】

(1)ASP.NET基本内置对象包括Response对象、Request对象、Application对象、Session对象、Cookie对象、Server对象、Cache对象等。

(2)Response对象提供对当前页的输出流访问,可以动态地响应客户端的请求,并将动态生成的响应结果返回给客户端浏览器。

(3)Request对象用于获取来自浏览器的信息,当客户端从网站请求Web页时,Web服务器就接收一个客户端HTTP请求,客户端的请求信息会包装在Request对象中。

(4)Application对象用于共享多个会话和请求之间的全局信息,也即Application对于同一网站来说是公用的,可以在各个用户间共享。

(5)Session对象用于存储特定用户的会话信息,与Application对象不同,Session对象中的信息只能被用户自己使用,而不能被网站的其他用户访问。

(6)Cookie对象用于保存客户端浏览器请求的服务器页面,也可用它存放非敏感性的用户信息,Cookie将信息保存在客户端,而Session和Application是保存在服务器端。 (7)Server对象提供了对服务器信息的封装,定义了一个与Web服务器相关的类实现对服务器的方法和属性的访问。

(8)Cache用于在HTTP请求间保存页面或数据,该对象的使用可以极大地提高整个应用程序的效率。

6、叙述ASP.NET Web窗体事件模型如何实现尽量减少事件中信息的往返次数? 【参考答案】

ASP.NET Web窗体事件模型为了减少事件处理中信息往返的次数,系统采用了如下策略:

(1)客户端发生的事件,并不是每发生一次就向服务器传送一次信息。默认情况下,只有当服务器按钮被单击时,才集中向服务器传递事件信息。

(2)文本框、下拉列表框、单选按钮、复选框等服务器控件,当它们的Change事件发生时,先将事件的信息暂时保存在客户端的缓冲区中,等到下一次向服务器传递信息时(单击按钮时),再和其他信息一起发送给服务器,以减少传送信息的频度。

(3)如果有的控件的Change事件需要立即得到响应时,只需要将该控件的AutoPostBack属性设置为TRUE即可,但这种设置不宜过多,否则会降低系统运行效率。

(4)当服务器同时收到多个事件信息时,对Change事件的处理总是放在其他事件之前,而对其他事件的处理顺序则是不确定的。

7、private、protected、public、internal修饰符的访问权限? 【参考答案】

(1)private:私有成员,在类的内部才可以访问。 (2)Protected:保护成员,该类内部和继承类中可以访问。 (3)Public:公共成员,完全公开,没有访问限制。 (4)Internal:在同一命名空间内可以访问。 8、请叙述数据库应用程序的基本开发流程? 【参考答案】

ASP.NET通过ADO.NET访问数据库,ASP.NET数据库应用程序的开发流程有以下几个步骤:

(1)创建数据库。

(2)利用Connection对象创建到数据库的连接。

(3)利用Command对象对数据源执行SQL命令并返回结果。

(4)利用DataReader对象读取数据源的数据。DataReader对象只能将数据源从头至尾按顺序读取数据,不能只读取某数据,也不能写入数据。因此,利用DataReader对象只能完成读取数据的功能,更复杂的功能将由DataSet对象完成。

(5)DataSet对象是ADO.NET的核心,与DataAdapter对象配合,完成数据库操作的增加、删除、修改、更新等操作。

9、Application对象和Session对象有什么联系和区别? 【参考答案】

他们的共同点同时都是用于不同的ASP页面之间共享信息。区别是:应用范围不同,前者针对所有用户,后者针对一个用户;存活时间不同,前者存活到网站关闭,后者离开网站就删除信息。

10、试述Session与Cookie的异同? 【参考答案】

相同点:用Response对象可以建立Cookie文件,以记录来访客户的各种信息。Session对象也可以用来记录客户的状态信息。

不同点:Cookie把信息记录在客户端的浏览器中,而Session对象则把信息记录在服务

器中。

11、简述HTTP协议处理事务的基本步骤? 【参考答案】

(1)客户与服务器建立连接 (2)客户向服务器提出请求

(3)如果请求被接受,则服务器发出响应,在响应中包括状态码和所需的文件 (4)客户和服务器断开连接

11、简述Web服务器向浏览器提供服务的过程。 【参考答案】

(1)用户打开计算机(客户机),启动浏览器程序,并在浏览器中指定一个URL,浏览器便向该URL所指向的Web服务器发出请求。

(2)Web服务器接到浏览器的请求后,把URL转换成页面所在服务器上的文件路径名。 (3)如果URL指向的是普通的HTML文档,Web服务器直接将它送给浏览器

(4)如果HTML文档中嵌有ASP或CGI程序,Web服务器就运行ASP或CGI程序,并将结果传送至浏览器。

(5)URL也可以指向VRML文档。只要浏览器中配置有VRML插件,或者客户机上已安装了VRML浏览器,就可以接收Web服务器发送的VRML文档。 12、把一个HTML网页文件直接更改扩展名为.asp行不行? 【参考答案】

可以,ASP.NET文件也可以不包含任何程序代码,只包含HTML标记。 13、.NET Framework针对不同的数据库,设计了下面几种数据提供程序? 【参考答案】

(1)SQL Server.NET Framework数据提供程序 (2)OLE DB. NET Framework数据提供程序 (3)ODBC. NET Framework数据提供程序 (4)Oracle. NET Framework数据提供程序

14、在SQL数据库的连接中,需要使用.NET提供的SqlConnection对象来对数据库进行连接,使用SqlConnection连接Access数据库和Sqlserver数据库,所引用的命名空间有什么区别? 【参考答案】

在使用SqlConnection类时,需要使用命名空间using System.Data.SqlClient;而连接Access数据库时,需要使用命名空间using System.Data.OleDb。 16、SQL SERVER数据库有哪两种连接模式? 【参考答案】 1、混合模式连接

使用此种连接模式必须输入登录名和登陆口令。 例 如 :

String myconnection=\

SqlConnection conn = new SqlConnection(myconnection); 2、windows模式连接

以windows连接模式必须将trusted_connection=true

string myconnection = \ trusted_connection=true\

SqlConnection conn = new SqlConnection(myconnection); 16、什么是数据绑定?简述其工作原理。 【参考答案】

数据绑定是使页面上控件的属性与数据库中的数据产生对应关系,使得控件的属性值与数据库的变动同步。数据绑定技术就是把已经打开的数据集中某个或某些字段绑定到组件的某些属性上面的一种技术。 数据绑定技术将显示控件的某个属性与数据源绑定在一起,每当数据源中的数据发生变化时,被绑定对象中显示的数据信息也自动随之变化更新。 17、什么是数据源控件,ASP.NET共包含哪几种数据源控件? 【参考答案】

数据源组件是ASP.NET数据访问的核心,它只负责管理与实际数据存储源的连接,并不呈现于任何用户界面。数据源组件是ADO.NET对象与数据绑定控件的中间桥梁,为数据绑定控件构造了一个公共接口,并使得它们绑定到数据源而无需代码。对于数据访问而言,数据存储格式分为三种:基于关系数据模型的表格格式、基于XML的分层格式以及中间层业务对象,共有4类相应的数据源控件:SqlDataSource控件(连接关系型数据库),AccessDataSource控件(用于检索 Microsoft Access数据库中的数据),ObjectDataSource控件(用于接受中间层业务对象提供的数据),XmlDataSource控件(用于读取XML文件或XML字符串)。

18、列举ASP.NET 页面之间传递值的几种方式? 【参考答案】

(1)使用QueryString, 如....?id=1; response. Redirect().... (2)使用Session变量 (3)使用Server.Transfer

19、请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。 【参考答案】

QueryString 传递一个或多个安全性要求不高或是结构简单的数值。但是对于传递数组或对象的话,就不能用这个方法了。 session(viewstate) 简单,但易丢失,作用于用户个人,过量的存储会导致服务器内存资源的耗尽。application 对象的作用范围是整个全局,也就是说对所有用户都有效。其常用的方法用Lock和UnLock 。cookie 简单,但可能不支持,可能被伪造 Cookie是存放在客户端的,而session是存放在服务器端的。而且Cookie的使用要配合ASP.NET内置对象Request来使用 input ttype=\简单,可能被伪造 url参数简单,显示于地址栏,长度有限Server.Transfer 把流程从当前页面引导到另一个页面中,新的页面使用前一个页面的应答流 数据库稳定,安全,但性能相对弱。 20、Global.aspx文件在ASP.NET网站中有什么作用? 【参考答案】

Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法。可以使用这个文件实现应用程序安全性以及其它一些任务。Global.asax 文件是 ASP.NET 应用程序的中心点。它提供无数的事件来处理不同的应用程序级任务,比如用户身份验证、应用程序启动以及处理用户会话等。

四、程序填空题

1.(1)

(1) “D:\\Inetpub\\www\\App_Data\\PSWeb.mdb;” (2) ExcuteReader() (3) dr.Read() (4) conn.close();

(5) Response.Redirect(“main.aspx”); (2)

(1) ListBox2.Items.Clear() (2) ListBox2.Items (3) ListBox1.Items[i] (4) Remove

(5) ListBox1.Items[i]. 2.

(1) !IsPostBack

(2) INSERT INTO (或小写) (3) Sql

(4) ExecuteNonQuery(); (5) Close()

(6) SELECT * FROM (或小写) (7) ORDER BY (或小写) (8) Fill (9) DataSource (10) DataBind(); 3.

(1) System.Data.SqlClient; (2) str

(3) SELECT * FROM (4) Dr.Read() (5) Cm2 (6) Close()

(7) us.Text!= null && pas.Text != null (8) ExecuteReader() (9) us.Text (10) pas.Text 4. (1)

(1)” test1.asp” (2)\

(3)\

(4)request.form(\(5)age >= 18 (2)

(1) VarNumber=” ” (2) varNumber+1

(3) Response.Cookies(“number”) (4) Response.Cookies(“number”).Expir (5) varNumber 5.(1)

(1) Request.Form(\(2) Session(\(3) Request.Form(\(4) Session(\

(5) Response.Redirect \(2)

(1)!IsPostBack (2)m_Sqlconn (3)Close (4)SqlConnection (5)lblResult.Text

五、论述题

1、试述ASP.NET对数据输入的验证以服务器验证为主,浏览器端验证为辅的原因? 【参考答案】

其原因有:第一,由于相当一部分客户端的设备功能弱,不具备验证能力,此时验证工作只能放在服务器端进行;第二,恶意的用户能够比较容易地破坏客户端的验证脚本,或者想方设法绕过客户端的校验。

因此,从安全的角度出发,除非人为地取消了服务器端验证,不论客户端是否进行了验证,服务器端的验证都是不可缺少的。当用户向服务器提交数据之后,服务器都毫无例外地调用验证程序来逐个检查用户的输入。如果发现任何输入数据有错误时,整个页面将自行设

置为无效状态,并发出错误信息。但是如果可能(IE4.0以上)有的辅助功能可以先在浏览器中执行,以提高系统的运行效率。

2、论述ASP.NET 4.0的数据源控件有几种类型?各用于访问什么类型的数据。 【参考答案】

数据源控件有5种类型,分别可以用于访问数据库(database)、平面文件(flat file)、各种对象(Object)以及XML文件等。它们是:

? AccessDataSource数据源控件;Microsoft Access数据库是微软提供的小型数据库 ? SqlDataSource数据源控件;此控件还能够用来访问Oracle、ODBC、OLE DB等大型数据库

ObjectDataSource数据源控件;通过这个控件可以连接和处理数据库、数据集、DataReader或任意其他对象

? XMLDataSource数据源控件;访问和处理XML文件 SiteMapDataSource数据源控件。可用来访问网站文件

3、论述当网站采用三层架构时,这三层架构是如何分工的,有什么优点。 【参考答案】

网站采用三层架构时,整个应用系统分为三层:表示层-业务层-数据访问层(含数据库)。 在三层架构中,客户端网页是表示层,负责用户界面的显示,其他非显示(非UI)的逻辑处理部分(包括业务规则或商业逻辑)都集中放在中间层中。后台则负责数据的存储和管理。这样的分工不仅思路清晰,代码重用度高,而且一旦商务逻辑或业务规则需要改变时,只需对中间层进行修改而不需要分别对各个网页进行修改。这样做有利于系统的维护和扩展,还可防止各窗体中出现不一致的现象

4、论述为了使得网站众多张网页显示风格一致,ASP.NET 4.0使用了哪些技术,每种技术从哪些方面使得显示风格一致的。 【参考答案】

ASP.NET 2.0提供的主题、用户控件和母版页技术,从统一服务器控件的外貌、局部再到全局风格的一致提供了最佳的解决方案。

主题中的皮肤文件定义服务器控件的外貌,再加上级联样式表用来定义HTML的标签。由皮肤、样式再加上相关的图像组成的主题实际上代表着一种显示风格。

用户控件(User Control)是一种自定义的组合控件,用户控件可以应用于多张网页中,从而保证了这些网页的外貌在局部上保持一致;

母版页是基于全局性的界面设计。用户控件通常被嵌入到母版页中一起使用。 5、简述ASP.NET 4.0的事件模型,系统采用什么方式来减少信息往返次数的。 【参考答案】

ASP.NET 2.0中对事件处理的原则是: (1)基于服务器处理事件;

(2)尽量减少事件处理中信息往返的次数; (3)调用浏览器执行辅助功能。

为了减少事件处理中信息往返的次数,系统采用了以下的策略,即客户端发生的事件,并不是每发生一次就向服务器传送一次信息。默认情况下,只有当服务器端按钮(Button)被点击时,才集中向服务器传递事件信息。其他支持改变(Change)事件的服务器端控件,如文本框、下拉列表框、单选按钮、复选框等,当它们的Change事件发生时,先将事件的信息暂时保存在客户端的缓冲区中,等到下一次向服务器传递信息时(点击按钮时),再和其他信息一起发送给服务器。以减少传送信息的频度。

如果有的控件的Change事件需要立即得到响应时,只需要将该控件的AutoPostBack的属性设为true即可。

母版页是基于全局性的界面设计。用户控件通常被嵌入到母版页中一起使用。 5、简述ASP.NET 4.0的事件模型,系统采用什么方式来减少信息往返次数的。 【参考答案】

ASP.NET 2.0中对事件处理的原则是: (1)基于服务器处理事件;

(2)尽量减少事件处理中信息往返的次数; (3)调用浏览器执行辅助功能。

为了减少事件处理中信息往返的次数,系统采用了以下的策略,即客户端发生的事件,并不是每发生一次就向服务器传送一次信息。默认情况下,只有当服务器端按钮(Button)被点击时,才集中向服务器传递事件信息。其他支持改变(Change)事件的服务器端控件,如文本框、下拉列表框、单选按钮、复选框等,当它们的Change事件发生时,先将事件的信息暂时保存在客户端的缓冲区中,等到下一次向服务器传递信息时(点击按钮时),再和其他信息一起发送给服务器。以减少传送信息的频度。

如果有的控件的Change事件需要立即得到响应时,只需要将该控件的AutoPostBack的属性设为true即可。

本文来源:https://www.bwwdw.com/article/o52w.html

Top