当前位置:文档之家› 《动态网页设计》期末复习资料

《动态网页设计》期末复习资料

《动态网页设计》期末复习资料

一、填空题(20%)

1.在Web窗体的Page_Load事件中可以通过IsPostBack属性区分窗体是首次还是回送(PostBack)加载。

2.为确保用户输入的值在指定的范围内,应该选择RangeValidator验证控件。

3.Web.config中,所有的配置都必须包含在标记下。

4.Repeater控件中必须使用的模板是ItemTemplate (或:数据模板)。

5.当使用集成身份验证访问SQLServer数据库时,SQLServer验证的Windows用户账号是:Aspnet。

6.在处理DataGrid的自动分页事件代码中,应将新的页码赋给DataGrid的CurrentPageIndex属性。

7.服务器验证控件的ErrorMessage属性可以将错误信息传达给用户。

8.在基于Forms的身份验证中,节的?表示匿名用户,* 表示任何用户。

9.为了在DataGrid中实现数据排序,通常情况下为其DataSource属性设置的数据源是:DataView。

10.Codebehind主要是通过把用户界面(user interface)和程序逻辑(programming logic)放在不同的文件中来实现代码分离的。

11.使用Command的ExecuteReader方法返回 DataReader 对象。

12.在DataGrid控件中实现数据修改的三个方法是:EditCommand、CancelCommand和UpdateCommand 。

13.使用页的 Trace.IsEnabled属性可以确定是否启用了跟踪。

https://www.doczj.com/doc/2919383173.html,提供进行身份验证的三种方式分别是Windows的身份验证、窗体Forms的身份验证和微软Passport 身份验证。

15.在Web服务器验证控件与被验证的控件之间是通过ControlToValidate属性进行关联的。

https://www.doczj.com/doc/2919383173.html,框架中包括一个庞大的类库。为了便于调用,将其中的类按照命名空间进行逻辑区分。

17.所有网页,都是由浏览器对HTML解释而形成的,浏览器就相当于HTML语言的翻译程序,负责解释HTML文件各种符号的含义。

18.ASPX网页的基类是System.Web.UI.Page。

19.若使用C#语言,在代码分离模式中逻辑代码的文件后缀是.cs。

20.当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为Password。

21.下面是一个转移到新网页的指令: Response. Redirect ("新网页的URL");

22.请将下列数据(nn)在TextBox控件中显示出来。 double nn = 4512.65; TextBox1.Text = Convert.ToString(nn) ;

23.下面是设置和取出Session对象的代码:

Session["greeting"] = "Hello Wang!";

取出该Session对象的语句如下:

string MyVar= Session["greeting"].ToString();

24.下面是使用Application对象时防止竞争的代码。

Application .Lock() ; // 锁定Application对象

Application ["counter"] = (int)Application ["counter"] + 1;

Application .UnLock() ; // 解除对Application对象的锁定

25.在设计阶段必须将各个验证控件的ControlToValidate属性指向被验证的控件。

26.<%# %> 和 <%= %> 的区别:<%# %>表示绑定的数据源;<%= %>是服务器端代码块。

27.使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为:CommandType.StoredProcedure 。

28.DataTable有三种集合: Rows 、 Columns 和 Constraints 。----约束的集合

29.使用DataRelation对象可以实现数据库的相关表功能。

30.创建DataRelation对象需要指定三个参数DataRelation名称、父DataColumn和子DataColumn 。

31.myDataSet.Tables.AddRange (dtArray),该语句中的dtArray是一个 DataTable数组。

32.使用DataSet.ReadXML 方法可以加载指定XML文件的数据和架构。

33.使用 DataSet.WriteXml 方法可以将数据集的架构和数据同时导出到一个XML文件。

34.使DataAdapter的Fill方法,可以将数据填充到DataSet中。

35.在https://www.doczj.com/doc/2919383173.html,中,实现Web服务的文件名后缀为 .asmx 。

二、选择题(20%)

1.在Visual https://www.doczj.com/doc/2919383173.html,集成开发环境中,当你想把一个Web服务器控件添加到你的Web窗体时,却发现工具箱中没有“Web窗体”选

项卡,通常的原因是:

A. 你需要设置工具箱的选项

B. 工具箱的属性需要重新设置并添加“Web窗体”选项卡

C. 你当前的位置是在“HTML”视图,不是“设计”视图

D. 工具箱中没有“Web窗体”选项卡

2.访问Access数据库,需要使用的命名空间是:

A. System.Data

B. System.Data.OleDB

C. System.Data.SqlClient

D. System.OleDB

3.如果你想从两个不同数据库的表中获取数据,最好的解决方案是:

A. 为每个表分别创建一个DataSet

B. 创建一个DataSet并使用2个不同的DataAdapter填充数据到该DataSet

C. 在https://www.doczj.com/doc/2919383173.html,中不可能

D. 为其中一个表创建一个DataSet,将该DataSet转换为XML文件,然后获取另一个表的数据。

4.在Web窗体中有2个密码输入框,如果对第2个密码输入框既要验证用户是否填写,又要验证该密码是否与第1个密码输入框中密码

相同,应该选择的验证控件是:

A. CompareValidator 控件

B. Validation Summary控件

C. RequiredFieldValidator控件

D. 同时使用RequiredFieldValidator控件和CompareValidator控件

5.在设计Web窗体时,为了避免Web服务器返回给用户的HTML代码出现与浏览器不兼容的问题。最好选择:

A. 只使用 HTML 控件

B. 只使用 HTML 服务器控件

C. 只使用 Web 服务器控件

D. 以上都不对

6.包含SQL Server数据提供者的命名空间是:

A. System.Data.SqlTypes

B. System.Data.SqlServer

C. System.Data.SqlProvider

D. System.Data.SqlClient

7.在使用ValidationSummary控件时,默认情况是除ValidationSummary控件要显示所有验证控件中的错误消息(ErrorMessage)外,

每个验证控件还要显示其自己的ErrorMessage。请问:如何设置才能使页面只显示错误汇总信息,单个验证控件的错误信息不再显示?

A. 将所有验证控件的Text属性设置为空

B. 将所有验证控件的ErrorMessage属性设置为空

C. 将所有验证控件的Display属性设置为空(None)

D. 以上三个步骤都作

8.将字段student绑定到Repeater控件的语法是:

A. DataBinder.Eval(Container. DataItem,"student")

B. DataBinder.Eval(Container,"DataItem.student")

C. <%# DataBinder.Eval(Container.DataItem,"student") %>

D. 以上都不对

9.用户控件的文件扩展名是?

A. asx

B. aspx

C. ctl

D. ascx

10.执行SqlCommand的什么方法可以创建一个SqlDataReader?

A. Fill

B. ExecuteQuery

C. ExecuteReader

D. ExecuteSqlData

11.以下哪个选项能够实现:除了Joe和Jane以外,允许所有其它用户访问?

A.

B.

C.

D.

12.请选出合适的服务器验证控件,在用户输入邮件地址时进行验证

A. RangeValidator

B. RequiredFieldValidator

C. CompareValidator

D. RegularExpressionValidator

E. CustomValidator

13.可以在https://www.doczj.com/doc/2919383173.html,开发环境的________窗口中对Windows操作系统的各种服务进行管理:

A. 服务器管理器

B. 类视图

C. 属性窗口

D. 解决方案资源管理器

E. 工具箱

14.在使用 RangeValidator 控件时,必须设置以下哪些属性:

A. Maximum Value, Minimum Value, controlToValidate, ErrorMessage

B. Maximum Value, Minimum Value, Type, ErrorMessage

C. Maximum Value, Minimum Value, controlToValidate, Type , ErrorMessage

D. Maximum Value, Minimum Value, ErrorMessage

15.Web窗体页是从以下哪个类继承而来?

A. System.Data

B. System

C. System.UI.Web.Page

D. System.Web

16.Just-in-Time (JIT)编译器的作用是:

A. 把MSIL 编译成本机代码(native code)以适合程序所在机器

B. 直接生成可执行文件

C. 在需要的时候逐行解释执行

D. 生成metadata元数据

17.如果你想在Web窗体上显示销售报表,使用哪一个对象可以最有效地获得数据?

A. DataReader

B. DataSet

C. DataAdapter

D. RecordSet

18.在DataGrid中,当DataSource属性设置为一个DataSet时,则DataMember属性应该设置为:

A. DataSet 的一列

B. DataSet的一个表

C. 不需要设置

D. 都不对

19.关于DataReader与Dataset描述错误的是:()

A)DataReader 以只进只读方式返回数据;

B)Dataset与数据进行动态交互;

C)Dataset在层间或从 XML Web services 对数据进行远程处理;

D)Dataset需要与数据源保持打开的连接。

20.Session对象的作用是存储特定用户的信息,Web应用程序会为每个会话建立一个Session对象,下列关于Session对象的方法与属

性描述不正确的是:()

A) Abandon方法可以结束当前的会话

B) Clear方法清除会话状态中的所有信息,结束会话

C) IsNewSession属性判定当前会话是否是一个新的会话(是否与当前请求一起创建)

D) Add方法向Session对象添加额外信息

21.在Web页面中使用RequiredFieldValidator用来检查一个控件是否有值,关于其主要属性描述正确的是:()

A) ControlToValidate属性指定要验证的类别

B) Display属性确定如何显示验证控件的信息

C) ErrorMessage属性指定RequiredFieldValidator控件的错误信息内容

D) Text属性设置在RequiredFieldValidator控件中显示的错误信息

22.Web 用户控件和Web 窗体相似,都包含一个用户界面页和一个代码文件,但他们也存在区别:()

A) Web 用户控件扩展名必须为 .ascx

B) Web 用户控件扩展名必须为 .ascm

C) Web用户控件中包含 元素

D) Web用户控件中不包含 和

、 元素

23.假设在machine.config中定义了配置A、配置B和配置C,在web.config中定义了配置B和配置D,则应用程序遵守的配置为:

A machine.config的配置A、配置B、配置C和web.config的配置D

B machine.config的配置A、配置C和web.config的配置D

C machine.config的配置A、配置C和web.config的配置B、配置D

D machine.config的配置A和web.config的配置B、配置D

24.关于Global.asax的描述中不正确的是( ):

A Global.asax 文件驻留在应用程序的根目录中

B global.asax文件可以和ASP程序的global.asa文件共存

C 在ASP程序的global.asa文件中定义的Session变量可以继续在global.asax文件中调用

D https://www.doczj.com/doc/2919383173.html,应用程序可以不定义Global.asax文件。

25.下面()集合包含在DataSet集合中。

A. Tables集合

B. Columns集合

C. Rows集合

D. Parameters集合

26.使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为()。

A. CommandType.Text

B. https://www.doczj.com/doc/2919383173.html,mandText

C. CommandType.StoredProcedure

D. CommandType.Procedure

27.使用Command的()方法可以检索数据并将结果返回给DataReader。

A. ExecuteReader

B. ExecuteScalar

C. ExecuteNonQuery

D. ExecuteQuery

三、名次解释(10%)

1.命名空间:在.NET框架中,为了便于管理和使用,将相关的类型进行分组的逻辑命名方案称为命名空间。简单地,可以将命名空间理解为各种类型(类、结构、接口等)的集合。.NET框架类库就是一个由命名空间组成的分层体系。

2.身份验证:身份验证(Authentication)是从用户处获取标识凭据(通常为一个用户名和密码对)并通过某些授权机构验证那些凭据的过程。简言之,Authentication就是对用户的身份进行验证。https://www.doczj.com/doc/2919383173.html,提供三种身份验证:基于Windows的身份验证、基于窗体(Forms)的身份验证、基于微软Passport 服务的身份验证。

3.自定义控件:用户或第三方软件供应商创作的控件,它不属于 .NET 框架类库。自定义服务器控件在 Web 窗体(https://www.doczj.com/doc/2919383173.html, 页)中使用。

自定义控件是在服务器上运行的编译组件,它们将用户界面和其他相关功能封装在可复用包中。相对于用户控件而言,自定义控件的创建要复杂一些,它是经过编译的,可以添加到Visual Studio 中的工具箱中。

4.托管代码:在.NET中有两种代码,以公共语言运行库CLR为目标的代码称为托管代码(Managed Code)。托管代码指向的对象在执行过程中完全被CLR所控制。所有基于 Microsoft 中间语言 (MSIL) 的代码都作为托管代码执行。

5.web服务器控件:属于System.Web.UI.WebControls命名空间的https://www.doczj.com/doc/2919383173.html,控件,它比HTML控件更丰富、更抽象,它在服务器端存在,并会在初始化时,根据客户端的浏览器版本,自动生成适合浏览器的HTML代码。

四、简答题(30%)

1.请说明C/S结构和B/S结构的共同点和不同点。

在计算机的世界里,凡是提供服务的一方我们称之为服务器(Server),而接受服务的另一方我们则称作客户端(Client)。

C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server同数据库进行数据交互。

C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快,缺点:只适用于局域网;客户端需要安装专用的客户端软件;对客户端的操作系统有一定的限制。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。

2.何谓静态网页?何谓动态网页?

在动态网页出现之前,采用传统的HTML编写的网页是静态网页,目前大部分的网页仍然属于静态网页。静态网页无需系统实时生成,网页风格灵活多样,但是静态网页在交互性能上比动态网页要差,日常维护也更为繁琐。文件后缀一般为htm或html。

所谓动态网页就是网页内含有程序代码(脚本),采用ASP、CGI、https://www.doczj.com/doc/2919383173.html,等技术动态生成页面,这种网页通常在服务器端以扩展名JSP、PHP、ASP或是ASPX 储存,表示里面的内容是Active Server Pages (动态服务器页面),有需要执行的程序。在接到用户的访问请求后,必须由服务器端先执行程序后,再将执行完的结果动态生成页面并传输到用户的浏览器中,在浏览器上显示出来。这种网页由于要在服务器端执行一些程序,由于执行程序时的条件不同,所以执行的结果也可能会有所不同,所以称为动态网页。

3.什么是Web应用程序?

Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。

通俗地讲,Web应用程序是指那些用户界面驻留在Web浏览器中的任何应用程序。

常见的计数器、留言版、聊天室和论坛BBS等,都是Web应用程序,不过这些应用相对比较简单,而Web应用程序的真正核心主要是对数据库进行处理,管理信息系统(Management Information System,简称MIS)就是这种架构最典型的应用。MIS可以应用于局域网,也可以应用于广域网。目前基于Internet的MIS系统以其成本低廉、维护简便、覆盖范围广、功能易实现等诸多特性,得到越来越多的应用。

4.什么是code-Behind技术?

就是代码隐藏,在https://www.doczj.com/doc/2919383173.html,中通过ASPX页面指向CS文件的方法实现显示逻辑和处理逻辑的分离,这样有助于web应用程序的创建。比如分工,美工和编程的可以各干各的,不用再像以前asp那样都代码和html代码混在一起,难以维护。

5.简述使用服务器验证控件的一般步骤。

(1) 添加服务器验证控件

(2) 设置ControlToValidate属性到需要验证的控件

(3) 设置ErrorMessage属性为相应的错误提示信息

(4) 设置其他的属性

https://www.doczj.com/doc/2919383173.html,的Application、Session、Cookie、V iewState和Cache对象的区别是什么?

Application是公共的,所有人都能看到,所以可以用来做聊天室;

session是私有的,每个客户端都存在一个不同的session 生存期正常是20分钟,也可以自己设定为1分钟或2个小时;

cookie是保存在本机的文件,记录短小的信息,除非你让cookie过期,否则会一直存在;

viewstate类似于asp中的hidden控件,用来记录页面中的控件的状态的,主要在页面间信息传递时用;

cache是缓存,用来记录已经执行过的一些数据,比如读取数据库,目的是加速显示,减少服务器的负担,过期时间也是可以自己设定的。

7.试说明DataSet与DataReader的区别

https://www.doczj.com/doc/2919383173.html, 提供以下两个对象,用于检索关系数据并将其存储在内存中:DataSet和DataReader。DataSet提供一个内存中数据的关系表示形式,一整套包括一些表在内的数据(这些表包含数据、对数据进行排序并约束数据),以及表之间的关系。DataReader提供一个来自数据库的快速、仅向前、只读数据流。

当使用DataSet时,经常会利用DataAdapter(也可能是CommandBuilder)与数据源进行交互。当使用 DataSet时,也可以利用DataView 对DataSet中的数据应用排序和筛选。也可以从DataSet继承,创建强类型DataSet,用于将表、行和列作为强类型对象属性公开。

当设计应用程序时,要考虑应用程序所需功能的等级,以确定使用DataSet或者是DataReader。

8.简述使用DataReader 获取数据的步骤。

使用 DataReader 获取数据的步骤是:

●创建一个连接对象;

●创建一个包含相应数据库查询语句的命令对象;

●打开该连接对象;

●定义一个 DataReader 变量,并执行命令对象的 ExecuteReader 方法将结果返回给定义的 DataReader 变量;

●使用 DataReader 的 Read 方法循环读取数据记录并进行相应处理;

●关闭命令和连接。

9.描述通过DataSet添加记录的步骤。

(1)新建一个数据行

(2)使用NewRow方法或Add方法将新数据行添加到数据表的DataRow集合中。

(3)调用DataAdapter的Update方法

(4)调用DataSet的AcceptChange方法接受更改

10.如何加载一个XML文件到数据集中。

(1)创建一个DataSet对象

(2)调用DataSet的ReadXml方法将指定的XML文件加载到数据集中

11.如果打算从本地SqlServer2000的pubs数据库中获取数据,并使用集成身份验证,请写出创建该连接时的连接字符串代码。

"Server=localhost; database=pubs; Trusted_Connection=true"

或者

"Data Source=localhost; Initial Catalog = pubs; Integrated Security=SSPI "

12.根据以下代码回答问题:

SqlConnection conn As;

conn = New SqlConnection();

conn.ConnectionString ="server=London;Database=student;User=sa;Password=123456 ";

conn.Open();

A. 连接对象的名字是什么?conn;

B. 选择了什么类型的数据提供者?SQLServer数据库提供者

C. 数据库的名称是什么?student

D. 使用的安全验证方式是什么?混合验证方式(或者SQL验证)

13.Web.config文件一般放在哪个目录?Machine.config 文件的路径是什么?

应用程序的根目录;%SystemRoot%\https://www.doczj.com/doc/2919383173.html,\Framework\V版本号\CONFIG\Machine.config

14.有一个用户控件,其注册代码为:

<%@ Register TagPrefix="MyControls" TagName="TestControl" Src="TestControl.ascx" %>

请写出添加一个该用户控件的代码

(提示:添加一个标准的标签控件的代码是

TestControl1可以用其他任意名称代替。

15.何谓用户控件?如何实现用户控件的动态加载?

用户控件是一种用HTML和服务器脚本构造的自定义控件,是构造可重用组件的一种重要机制。用户控件保存在ascx文件中,同服务器控件一样,用户控件可以有方法、属性、事件等。

为了使呈现给用户的页面更加友好,用户控件的动态加载是必不可少的。通过动态加载,Web窗体可以根据用户首选项来进行自定义,用户根据自己的需要来选择是否显示对应的选项。https://www.doczj.com/doc/2919383173.html,中,Page类的LoadControl方法使得动态加载用户控件变得非常容易。其代码如下:

//假定GoodBook.ascx是欲操作的自定义用户控件源文件

UserControl GoodBookCtrl=(UserControl)LoadControl("GoodBook.ascx");

Controls.Add(GoodBookCtrl);

16.何谓Web 服务?它的优点是什么?

Web 服务的英文全称是 XML Web Service 。 Web 服务是一种编程模型,它提供在非特定平台的环境下交换信息的能力,可以与多种多样的实现、平台和设备进行通信。 Web 服务是由 Web 服务器管理的应用程序,客户能用 Web 方式对其进行访问。

Web 服务的主要优点有:

(1) 与编程语言无关。编写一个 XML Web Service 可以使用与 .NET 框架兼容的任意语言。

(2) 独立于协议。 XML Web Service 采用 HTTP 和 XML 等标准的 Web 协议和数据格式进行通信。任何支持这些 Web 标准的服务器都能访问或管理 XML Web Service 。

(3) 与平台无关。 XML Web Service 没有用户界面,只是提供了定义好的标准界面。

五、阅读程序题(20分)

1.下面的程序片段实现了从当前应用程序(Web程序)目录中,读取GoodBook.Xml文件的数据并填充到数据集DataSet中;最后,将

窗体上的DataGrid绑定到该DataSet。试根据上下文将程序片断补充完整。

DataSet ds=new DataSet();

ds.ReadXml(Server.MapPath("GoodBook.xml"));

//将DataGrid绑定到DataSet

GoodBookGrid.DataSource=ds;

GoodBookGrid.DataBind();

2.阅读下列程序片断,试分析该程序片段的作用:

SqlConnection conn=new SqlConnection("server=(local);database=pubs;uid=sa;pwd=");

conn.Open();

SqlDataAdapter adapter=new SqlDataAdapter("select * from book",conn);

DataSet ds=new DataSet();

adapter.Fill(ds);

Context.Cache.Insert("Books",ds,null,DateTime.Now .AddMinutes(10),Cache.NoSlidingExpiration,CacheItemPriority.Defau lt,new CacheItemRemovedCallback(RefreshDataSet));

解答:

该程序段的核心是应用到了应用程序的缓存技术。考虑到数据库的内容不是经常变化,可以用应用程序缓存来提高效率,周期性检索数据库,在应用程序缓存里保存查询结果。

这段程序首先打开数据库,从Book表中取出数据,并读入DataSet中,然后,将DataSet添加到应用程序缓存中,并且指定DataSet 在添加后10分钟后过期,同时提供一个RefreshDataSet回调函数的引用,该函数在DataSet过期时被调用。

3.设本地SQL Server2000中的Bank数据库中存放有一张客户账号的表Account。表结构如下所示:

字段名数据类型长度为空说明

AccountNo Varchar 12 否账号惟一标识

CustomerID Varchar 18 否客户惟一标识

Balance Money 8 否存款余额

Password Varchar 20 否口令

StartTime DateTime 8 是开户时间

试编程实现开户操作,开户成功返回true,否则返回false。写出关键代码即可。

参考答案:

//开户:成功,返回真;否则,返回假

public bool CreateAccount(string AccountNo,string CustomerID,string password,decimal Balance)

{

//获取数据库连接

string connString="data source=(local);initial catalog=bank;user id=sa;password=sa;"

SqlConnection conn=new SqlConnection();

conn.ConnectionString=connString;

conn.Open();

//获取所有的帐号

ArrayList list=new ArrayList();

string cmdString="select AccountNo from Account";

SqlCommand comm=new SqlCommand();

https://www.doczj.com/doc/2919383173.html,mandText=cmdString;

comm.Connection=conn;

SqlDataReader reader=comm.ExecuteReader();

while(reader.Read())

{

list.Add(reader.GetString(0));

}

//判断帐号是否已经存在。存在返回假;否则,加入,返回真

if(list.Contains(AccountNo))

{

conn.Close();

return false;

}

string cmdString="insert into Account values('"+

AccountNo+"','"+CustomerID+"',"+Balance+",'"+password+"'";

DateTime StartTime=DateTime.Today;

cmdString+=",'"+StartTime+"')";

SqlCommand comm=new SqlCommand(cmdString,conn);

comm.ExecuteNonQuery();

conn.Close();

return true;

}

4.设SQL Server2000数据库EduSys中,sc表存储学生的选课信息,它包括学生编号(sno)、课程编号(cno)、成绩(grade)等内容。

该表主要为选课、查看选课、删除选课等功能提供数据源。试编写代码用于实现选课功能,根据传入参数:学生编号Sno和课程编号Cno将选课记录插入到sc表中,成绩grade设为初值0。(不用考虑该课程是否已经选修)

参考答案

//AddCourse(string Sno,string Cno)方法用于实现选课功能

public void AddCourse(string Sno,string Cno)

{

string connectString="server=(local);database=EduSys;uid=sa;pwd=";

System.Data.SqlClient.SqlConnection conn;

conn=new SqlConnection(connectString);

conn.Open();

SqlCommand cmd=new SqlCommand("insert into sc(sno,cno,grade)values(@Sno,@Cno,@Grade)",conn);

cmd.Parameters.Add("@Sno",SqlDbType.VarChar);

cmd.Parameters.Add("@Cno",SqlDbType.VarChar);

cmd.Parameters.Add("@Grade",SqlDbType.VarChar);

cmd.Parameters["@Sno"].Value=Sno;

cmd.Parameters["@Cno"].Value=Cno;

cmd.Parameters["@Grade"].Value="";

cmd.ExecuteNonQuery();

}

5.下图中的DataGrid可实现数据的排序和升降序自动切换功能。

以下代码通过Bind_Data过程实现数据获取和绑定,其中排序表达式和排序方向分别使用ViewState("SortString")和ViewState("IsAscending")变量保存。请根据注释填写未完成的代码。

//窗体加载时触发此方法

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

{

// 在此处放置用户代码以初始化页面

if(!this.IsPostBack)

{

ViewState["SortString"]="SupplierID";

ViewState["IsAscending"]="ASC";

}

Bind_Data();

}

//实现数据绑定的方法

private void Bind_Data()

{

//定义数据库链接对象

SqlConnection conn=new SqlConnection("Server=.;DataBase=Northwind;uid=sa;pwd=;");

//定义数据适配器对象

SqlDataAdapter sda=new SqlDataAdapter("select SupplierID,CompanyName,Address from Suppliers",conn);

// 定义并初始化数据集

DataSet ds=new DataSet();

sda.Fill(ds,"emp");

//定义并获取填充表格的默认数据视图

DataView dv = ds.Tables["emp"].DefaultView;

//通过ViewState变量SortString、IsAscending实现数据排序

//排序表达式和排序方向分别使用ViewState("SortString")和ViewState("IsAscending")变量保存。

//设置排序表达式

string sort=(string)ViewState["SortString"]+" "+(string)ViewState["IsAscending"];

dv.Sort=sort;

//绑定网格控件

DataGrid1.DataSource = dv;

DataGrid1.DataBind();

}

//当对页面上的记录进行排序时触发此方法

private void DataGrid1_SortCommand(object source, System.Web.UI.WebControls.DataGridSortCommandEventArgs e) {

//两次排序表达式相同,点击的是同一个字段,将排序方向颠倒一下

if (e.SortExpression ==ViewState["SortString"].ToString())

{

if(ViewState["IsAscending"].ToString()=="DESC")

{

ViewState["IsAscending"]="ASC";

}

else

{

ViewState["IsAscending"]="DESC";

}

}

else

{

ViewState["IsAscending"] = "ASC";//点击的是另一个字段,默认按照升序处理

}

//将排序表达式保存起来--重新设置排序关键字

ViewState["SortString"] = e.SortExpression;

Bind_Data();

}

动态网页设计(JSP)_习题集(含答案)

《动态网页设计(JSP)》课程习题 集 一、单选题 1.下面哪种技术不属于B/S设计模式:( ) A. CGI B. XML C. ASP D. PHP 2.下面关于B/S、C/S设计模式比较的描述哪项错误() A. C/S开发和维护成本高 B. B/S 客户端负载重 C. C/S移植困难 D. B/S用户的界面是由客户端所装软件决定的 3.下面哪种B/S模式设计技术由SUN公司倡导() A. CGI B.JSP C. ASP D. PHP 4.下面关于JSP与ASP比较的描述,哪一项不是JSP独有特点() A. 跨平台性 B. 一次编写,到处运行 C. 编写容易,快速上手 D. 通过JDBC驱动程序与数据库连接 5.下面哪一个不能作JSP的服务器() A. IBM WebSphere B. BEA WebLogic C. Tomcat D. PWS 6.下面哪个不是配置tomcat运行环境所需的环境变量 ( ) A. CLASSPATH B.TOMCAT_HOME C.JAVA_HOME D. OS 7.在配置tomcat虚拟目录时,需要打开哪个文件? () A. index.jsp B. web.xml C.server.xml D.以上都不是 8.在配置tomcat虚拟目录时,需要在哪两个元素之间插入配置信息?() A. Context与Host B. Context与Listener C. Context与Server D.以上都不是 9.一个标准的HTML文件是以标记开始,并以什么标记结束( ) A. B. C. D. 10.下面哪个标记表示html文件的头元素( ) A. B. C. D. 11.下面哪个标记表示html文件的标题元素( ) A. <html> B. <body> C. <head> D. <title></p><h2>《动态网页设计》期末复习资料</h2><p>《动态网页设计》期末复习资料 一、填空题(20%) 1.在Web窗体的Page_Load事件中可以通过IsPostBack属性区分窗体是首次还是回送(PostBack)加载。 2.为确保用户输入的值在指定的范围内,应该选择RangeValidator验证控件。 3.Web.config中,所有的配置都必须包含在<Configuration>标记下。 4.Repeater控件中必须使用的模板是ItemTemplate (或:数据模板)。 5.当使用集成身份验证访问SQLServer数据库时,SQLServer验证的Windows用户账号是:Aspnet。 6.在处理DataGrid的自动分页事件代码中,应将新的页码赋给DataGrid的CurrentPageIndex属性。 7.服务器验证控件的ErrorMessage属性可以将错误信息传达给用户。 8.在基于Forms的身份验证中,<authorization>节的?表示匿名用户,* 表示任何用户。 9.为了在DataGrid中实现数据排序,通常情况下为其DataSource属性设置的数据源是:DataView。 10.Codebehind主要是通过把用户界面(user interface)和程序逻辑(programming logic)放在不同的文件中来实现代码分离的。 11.使用Command的ExecuteReader方法返回 DataReader 对象。 12.在DataGrid控件中实现数据修改的三个方法是:EditCommand、CancelCommand和UpdateCommand 。 13.使用页的 Trace.IsEnabled属性可以确定是否启用了跟踪。 https://www.doczj.com/doc/2919383173.html,提供进行身份验证的三种方式分别是Windows的身份验证、窗体Forms的身份验证和微软Passport 身份验证。 15.在Web服务器验证控件与被验证的控件之间是通过ControlToValidate属性进行关联的。 https://www.doczj.com/doc/2919383173.html,框架中包括一个庞大的类库。为了便于调用,将其中的类按照命名空间进行逻辑区分。 17.所有网页,都是由浏览器对HTML解释而形成的,浏览器就相当于HTML语言的翻译程序,负责解释HTML文件各种符号的含义。 18.ASPX网页的基类是System.Web.UI.Page。 19.若使用C#语言,在代码分离模式中逻辑代码的文件后缀是.cs。 20.当需要将TextBox控件作为密码输入框时(要求隐藏密码的代码),应该将控件的TextMode属性设置为Password。 21.下面是一个转移到新网页的指令: Response. Redirect ("新网页的URL"); 22.请将下列数据(nn)在TextBox控件中显示出来。 double nn = 4512.65; TextBox1.Text = Convert.ToString(nn) ; 23.下面是设置和取出Session对象的代码: Session["greeting"] = "Hello Wang!"; 取出该Session对象的语句如下: string MyVar= Session["greeting"].ToString(); 24.下面是使用Application对象时防止竞争的代码。 Application .Lock() ; // 锁定Application对象 Application ["counter"] = (int)Application ["counter"] + 1; Application .UnLock() ; // 解除对Application对象的锁定 25.在设计阶段必须将各个验证控件的ControlToValidate属性指向被验证的控件。 26.<%# %> 和 <%= %> 的区别:<%# %>表示绑定的数据源;<%= %>是服务器端代码块。 27.使用Command对象和存储过程进行数据操作时,应将CommandType属性设置为:CommandType.StoredProcedure 。 28.DataTable有三种集合: Rows 、 Columns 和 Constraints 。----约束的集合 29.使用DataRelation对象可以实现数据库的相关表功能。 30.创建DataRelation对象需要指定三个参数DataRelation名称、父DataColumn和子DataColumn 。 31.myDataSet.Tables.AddRange (dtArray),该语句中的dtArray是一个 DataTable数组。 32.使用DataSet.ReadXML 方法可以加载指定XML文件的数据和架构。 33.使用 DataSet.WriteXml 方法可以将数据集的架构和数据同时导出到一个XML文件。 34.使DataAdapter的Fill方法,可以将数据填充到DataSet中。 35.在https://www.doczj.com/doc/2919383173.html,中,实现Web服务的文件名后缀为 .asmx 。</p><h2>网页设计期末复习试题</h2><p>网页设计复习 选择题答案:ABDAC CABCB BACDC CBACA BBDAD CCBBC ACAAC BDDDA DCACB CACDB CACDB DCBAB 如果有同学发现答案有误请大家在群里指出一下 一. 单项选择题 1、HTML 指的是。 A.超文本标记语言(Hyper Text Markup Language) B.家庭工具标记语言(Home Tool Markup Language) C.超链接和文本标记语言(Hyperlinks and Text Markup Language) 2、Web 标准的制定者是万维网联盟(W3C)。 A. 微软(Microsoft) B.万维网联盟(W3C) C.网景公司(Netscape) 3、在下列的 HTML 中,哪个是最大的标题。 A. <h6> B. <head> C. <heading> D. <h1> 4、在下列的 HTML 中,哪个可以插入折行。 A.<br> B.<lb> C.<break> 5、在下列的 HTML 中,哪个可以添加背景颜色。 A.<body color="yellow"> B.<background>yellow</background> C.<body bgcolor="yellow"> 6、产生粗体字的 HTML 标签是。 A.<bold> B.<bb> C.<b> D.<bld> 7、产生斜体字的 HTML 标签是。 A.<i> B.<italics> C.<ii> 8、在下列的 HTML 中,可以产生超链接? A.<a url="https://www.doczj.com/doc/2919383173.html,">https://www.doczj.com/doc/2919383173.html,</a> B.<a href="https://www.doczj.com/doc/2919383173.html,">W3School</a> C.<a>https://www.doczj.com/doc/2919383173.html,</a> D.<a name="https://www.doczj.com/doc/2919383173.html,">https://www.doczj.com/doc/2919383173.html,</a> 9、能够制作电子邮件链接。 A.<a href="xxx@yyy"> B.<mail href="xxx@yyy"> C.<a href="mailto:xxx@yyy"> D.<mail>xxx@yyy</mail> 10、可以在新窗口打开链接。 A.<a href="url" new> B.<a href="url" target="_blank"> C.<a href="url" target="new"> 11、以下选项中,全部都是表格标签。 A.<table><head><tfoot> B.<table><tr><td> C.<table><tr><tt> D.<thead><body><tr> 12、可以使单元格中的内容进行左对齐的正确 HTML 标签是。 A.<td align="left"> B.<td valign="left"></p><h2>ASPNET期末复习整理</h2><p>《https://www.doczj.com/doc/2919383173.html, WEB程序设计》课程 期末复习 考试题型: 1、单选、判断 2、填空 3、简答题 4、程序填空 5、阅读程序 基本知识点 1、https://www.doczj.com/doc/2919383173.html,运行环境、平台: Windows操作系统、IIS、.NET框架。 https://www.doczj.com/doc/2919383173.html,是一种基于.NET框架开发动态网页的新技术,它依赖于Web服务器上的https://www.doczj.com/doc/2919383173.html, 模块(aspnet_isapi.dll文件),但该模块本身并不处理所有工作,它将一些工作传递给.NET框架进行处理。https://www.doczj.com/doc/2919383173.html,允许使用多种面向对象语言编程,如https://www.doczj.com/doc/2919383173.html,、C#、C++、https://www.doczj.com/doc/2919383173.html,和J#.NET语言等,它也只能在Windows平台上运行。 2、HTML语言基本语法: 超链接(<a></a>) 列表(<table>表格<tr>行</tr><td>列</td></table>)、 URL(<ul></ul>)、 form表单(<form></form>) <html></html> //HTML文档的开始和结束标签 <title> //HTML文档标题的开始和结束标签 //HTML文档体的开始和结束标签 //段落的开始和结束标签 //一个文本框或按钮 //下拉列表框 3、静态网页构成和标准: 内容+结构+表现+行为 xhtml + div/css + javascript CSS概念:层叠样式表 嵌入方式: 1.内联式。(

) 2.嵌入式。(写在html的头部.[]) 3.外部式。(样式外部文件已“.css”,为扩展名,在内,不是在