"/>
其中?
表示:
A任何用户
B匿名用户
CGuest用户
D当前用户
2、页面事件的生命周期顺序是:
APage_Load,Page_Init,Change,Click,Page_Unload
BPage_Load,Page_Init,Click,Change,Page_Unload
CPage_Init,Page_Load,Change,Click,Page_Unload
DPage_Init,Page_Load,Click,Change,Page_Unload
3、dsEmployees数据集中包含一个名为Employees的表,该表的字段按顺序为:
EmployeeId,FirstName,LastName。
如果要获得第1条记录中FirstName字段的值,应该使用以下哪个代码?
(多选)
AdsEmployees.Tables("Employees").Rows(0).Item("FirstName")
BdsEmployees.Employees
(1).FirstName
CdsEmployees.Tables(0).Rows(0).Item
(1)
DdsEmployees.Fields!
FirstName
4、下面哪一个不是声明用户控件必须的主要元素:
ATagPrefix属性
BTagName属性
CText属性
DSrc属性
5、假设在machine.config中定义了配置A、配置B和配置C,在web.config中定义了配置B和配置D,则应用程序遵守的配置为:
Amachine.config的配置A、配置B、配置C和web.config的配置D
Bmachine.config的配置A、配置C和web.config的配置D
Cmachine.config的配置A、配置C和web.config的配置B、配置D
Dmachine.config的配置A和web.config的配置B、配置D
6、指出以下程序的运行结果:
Dimmyarray()AsInteger={0,1,2,3}
Console.WriteLine(myarray(4))
A0B1C2D3E数组越界错误
7、在新建“Web安装项目”时,如果在“添加项目输出组”对话框中选择的是“主输出”和“内容文件”组,则生成的安装程序在目标机器上安装完成后:
A安装程序会自动创建虚拟目录,该目录下有bin子目录和aspx文件以及.vb源代码文件
B安装程序会自动创建虚拟目录,该目录下有bin子目录和aspx文件,但没有.vb源代码文件
C安装程序会自动创建虚拟目录,该目录下有bin子目录和.vb源代码文件,但没有aspx文件
D需要手工创建一个虚拟目录,然后安装程序会将bin子目录和aspx文件拷贝到该虚拟目录下
8、如果要从SQLServer2000中查询数据,并且希望响应速度快,关于数据库连接,选择正确的语句:
ADimconnasSqlClient.SqlConnection
conn=newSqlClient.SqlConnection(connString)
BDimconnasOleDb.OleDbConnection
conn=newOleDb.OleDbConnection(connString)
CDimconnasADODB.Connection=newADODB.Connection()
DDimconnasSQLDMO.DataBase=newSQLDMO.DataBase()
9、在VS.NET开发环境中,在同一个解决方案容器中(多选):
A可以包含多个项目,而且这些项目的类型可以不同,例如Windows应用程序的项目可以和Web应用程序的项目并存
B可以包含多个项目,但这些项目必须是相同类型的应用程序(例如:
Windows应用程序或者Web应用程序)
C只能有一个项目,该项目不能同时使用VB.NET和C#编程语言
D只能有一个项目,该项目可以同时使用VB.NET和C#编程语言
E可以包含多个项目,但每一个项目只能使用一种编程语言
10、在使用ValidationSummary控件时,默认情况是除ValidationSummary控件要显示所有验证控件中的错误消息(ErrorMessage)外,每个验证控件还要显示其自己的ErrorMessage。
请问:
如何设置才能使页面只显示错误汇总信息,单个验证控件的错误信息不再显示?
A将所有验证控件的Text属性设置为空
B将所有验证控件的ErrorMessage属性设置为空
C将所有验证控件的Display属性设置为空
D以上三个步骤都作
11、Machine.config和Web.config的根元素是
A
B
C.
D.
12、在Web窗体上有两个DropDownList控件,分别名为Products和Category。
其中控件Products列出Products表中的产品名称,控件Category列出Category表中的产品分类名称。
两个控件均使用DataReader获取数据。
实现后的应用程序应该如下图所示。
在Page_Load中输入以下代码(数字表示代码行号,不是代码),运行后程序出现System.InvalidOperationException异常。
1Conn.Open()
2Dimcmd1AsNewSqlCommand("select*fromproducts",Conn)
3Dimdr1AsSqlDataReader=cmd1.ExecuteReader
4Products.DataTextField="productname"
5Products.DataValueField="productid"
6Products.DataSource=dr1
7Products.DataBind()
8cmd1.CommandText="select*fromCategories"
9Dimdr2AsSqlDataReader=cmd1.ExecuteReader
10Category.DataTextField="CategoryName"
11Category.DataValueField="CategoryID"
12Category.DataSource=dr2
13Category.DataBind()
为了确保代码正常运行,需要作什么修改?
A替换第3行代码为:
dr1.ExecuteReader(CommandBehavior.CloseConnection)
B在第7和第8行之间增加一句代码:
dr1.Close()
C将8和第9行代码更换为:
Dimcmd2AsNewSqlCommand("select*fromCategories",Conn)
Dimdr2AsSqlDataReader=cmd2.ExecuteReader
D删除第7行代码,将第12行代码修改为:
Page.DataBind()
13、如果你想从两个不同数据库的表中获取数据,最好的解决方案是:
A为每个表分别创建一个DataSet
B创建一个DataSet并使用2个不同的DataAdapter填充数据到该DataSet
C在ADO.NET中不可能
D为其中一个表创建一个DataSet,将该DataSet转换为XML文件,然后获取另一个表的数据。
14、关于Global.asax的描述中正确的是(多选):
AGlobal.asax文件驻留在应用程序的根目录中
Bglobal.asax文件可以和ASP程序的global.asa文件共存
C在ASP程序的global.asa文件中定义的Session变量可以继续在global.asax文件中调用
DASP.NET应用程序可以不定义Global.asax文件。
15、如果DataList的RepeatDirection属性为RepeatDirection.Vertical,
RepeatColumns=4,下面哪一个布局是正确的?
A
1
4
7
10
2
5
8
3
6
9
B
1
2
3
4
5
6
7
8
9
10
C
1
5
9
2
6
10
3
7
4
8
D
1
2
3
4
5
6
7
8
9
10
三、简答题(共30分)
1.名词解释:
命名空间(5分)
2.名词解释:
身份验证(5分)
3.简述使用服务器验证控件的一般步骤。
(6分)
5.写出获得下图中DataGrid的姓名编辑框中的文本的代码。
(4分)
6.有一个用户控件,其注册代码为:
(4分)
<%@RegisterTagPrefix="MyControls"TagName="TestControl"Src="TestControl.ascx"%>
请写出添加一个该用户控件的代码(提示:
添加一个标准的标签控件的代码是Labelid=Label1runat=”server”)。
四、编程填空题(共20分)
1.下面的代码实现将TextBox1中的文本绑定到Label1控件的功能,请将其中未完成的代码填写完整。
<%@PageLanguage="vb"%>
TextBoxid="TextBox1"runat="server">
TextBox>
Buttonid="Button1"runat="server"
onclick="Button1_Click"Text="Button">
Button>
Labelid="Label1"runat="server">
___________________________________(3分)
Label>
PrivateSubButton1_Click(SenderAsObject,EAsEventArgs)
___________________________________(3分)
EndSub
2.
下图中的DataGrid可实现数据的排序和升降序自动切换功能。
其中,各字段分别为(编号:
id,名:
name,电话:
phone,地址:
address)。
以下代码通过Bind_Data过程实现数据获取和绑定,其中排序表达式和排序方向分别使用ViewState("SortString")和ViewState("IsAscending")变量保存。
请根据注释填写未完成的代码。
程序运行时候在Page_Load中直接调用Bind_Data过程执行数据获取和绑定操作。
PrivateSubPage_Load(ByValsenderAsSystem.Object,
ByValeAsSystem.EventArgs)HandlesMyBase.Load
Bind_Data()
EndSub
在DataGrid1_SortCommand过程中处理排序命令,其代码如下:
'处理排序命令
PrivateSubDataGrid1_SortCommand(ByValsourceAsObject,
ByValeAsSystem.Web.UI.WebControls.DataGridSortCommandEventArgs)HandlesDataGrid1.SortCommand
Ife.SortExpression=ViewState("SortString")Then
'两次排序表达式相同,点击的是同一个字段,将排序方向颠倒一下
____________________________________________(3分)
Else'点击的是另一个字段,按照升序处理
ViewState("IsAscending")=True
EndIf
'将排序表达式保存起来
ViewState("SortString")=e.SortExpression
Bind_Data()
EndSub
PrivateSubBind_Data()
DimconnAsSqlConnection=NewSqlConnection(_
"server=localhost\netsdk;database=pubs;Trusted_Connection=Yes")
DimcmdAsSqlDataAdapter=NewSqlDataAdapter(_
"SELECTtop6*FROMauthors",conn)
'定义并初始化数据集
_________________________________________________(4分)
cmd.Fill(ds,"authors")
'定义并获取数据视图
_________________________________________________(4分)
'通过ViewState变量SortString实现数据排序
dv.Sort=ViewState("SortString")
'没有点击的时候初始化为升序
IfViewState("IsAscending")IsNothingThen
ViewState("IsAscending")=True
EndIf
IfNotViewState("IsAscending")Then'处理降序情况
_________________________________________________(3分)
EndIf
DataGrid1.DataSource=dv
DataGrid1.DataBind()
EndSub
参考答案
一、填空题
1、Sub、Function
2、Response
3、ItemTemplate(或:
数据模板)
4、EditItemIndex
5、IsPostBack
6、Src=myedit.gifalt
7、代码后置(或:
CodeBehind)
8、RegularExpressionValidator(或:
模式匹配验证控件)
9、CurrentPageIndex
二、选择题
1、B2、C3、AC4、C5、C
6、E7、B8、A9、AE10、C
11、C12、B13、B14、ABD15、A
三、简答题
1命名空间:
在.NET框架中,为了便于管理和使用,将相关的类型进行分组的逻辑命名方案称为命名空间。
简单地,可以将命名空间理解为各种类型的集合。
2:
身份验证:
身份验证(Authentication)是从用户处获取标识凭据(通常为一个用户名和密码对)并通过某些授权机构验证那些凭据的过程。
ASP.NET提供三种身份验证:
基于Windows的身份验证、基于窗体(Forms)的身份验证、基于微软Passport服务的身份验证。
3:
使用服务器验证控件的一般步骤:
a)添加服务器验证控件
b)设置ControlToValidate属性到需要验证的控件
c)设置ErrorMessage属性为相应的错误提示信息
d)设置其他的属性
5:
Ctype(e.Item.Cells
(2).Controls(0),TextBox).Text
没有用Ctype函数,扣2分;其他错一处扣1分。
6:
TestControlid=TestControl1runat="server">
TestControl1可以用其他任意名称代替。
其他错误,错一处扣1分。
四、编程填空题
第1题
答案:
<%#TextBox1.Text%>
答案:
Label1.DataBind()
第2题
答案:
ViewState("IsAscending")=NotCType(ViewState("IsAscending"),Boolean)
或者:
ViewState("IsAscending")=NotViewState("IsAscending")
答案:
DimdsAsDataSet=NewDataSet()
扣分标准:
DimdsAsDataSet(2分)
NewDataSet()(2分)
答案:
DimdvAsDataView=ds.Tables("authors").DefaultView
或者:
DimdvAsDataView=ds.Tables(0).DefaultView
扣分标准:
DimdvAsDataView(2分)
ds.Tables("authors")(1分)
DefaultView(1分)
答案:
(3分)
dv.Sort=ViewState("SortString")+"desc"
或者:
dv.Sort=ViewState("SortString")&"desc"
扣分标准:
dv.Sort(1分)
ViewState("SortString")(1分)
desc(1分)