asp程序设计第二版课后习题答案.docx
- 文档编号:28745132
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:31
- 大小:35.87KB
asp程序设计第二版课后习题答案.docx
《asp程序设计第二版课后习题答案.docx》由会员分享,可在线阅读,更多相关《asp程序设计第二版课后习题答案.docx(31页珍藏版)》请在冰豆网上搜索。
asp程序设计第二版课后习题答案
第1章ASP.NET基础
1.什么是静态网页?
什么是动态网页?
静态网页就是用纯HTML代码编写的网页。
这些网页的代码是用一些编辑器输入的,或者是用一些网页设计程序生成的,保存为.html或.htm文件的形式。
设计完成之后,无论是哪个用户访问这个网页,在什么时候访问这个网页,以何种方式进入这个网页,它的显示都不会发生任何变化。
要对用户请求做出动态响应,就要使用动态网页,动态网页可以为不同的用户提供个性化的服务,而为了实现这种动态性,就需要进行程序设计。
2.简述你对ASP.NET的事件驱动机制的理解。
ASP.NET使用一个事件驱动编程模型。
该模型定义了一个事件序列,这些事件在页面的生命周期中被依次引发,顺序为InitàLoadà控件事件àUnload
对每个引发的事件,你可能需要完成一些任务。
可以在称为事件处理过程中编写代码。
例如,可以在Web页面的Init或Load事件中编写页面初始化代码。
Page_Init是页面的Init事件的事件处理器,而page_Load是页面的Load事件的事件处理器。
3.简述页面的事件序列,事件触发时机及顺序。
事件
引发的时机
Init
页面初始化时
Load
页面载入内存时
控件事件
响应用户操作,如鼠标点击
Unload
页面从内存中卸载时
4.IsPostBack的作用是什么?
在page_Load的过程中,你可以读取或者重置页面的属性和控件的属性,根据IsPostBack属性判定页面是否为第一次被请求,执行数据绑定等等。
IsPostBack属性为false表明页面是被第一次显示,为true表明页面被请求后返回(PostBack)的结果值。
5.怎样配置ASP.NET运行环境?
(略)
第2章C#语言基础
1.怎样在ASP.NET程序中加入注释文本?
可以使用服务器端注释在ASP.NET页面中包括注释,服务器端注释说明文档,也可防止服务器代码和静态内容执行或呈现。
服务器端注释以<%一开始,以一%>结束。
如下所示:
<%--这是一个注释--%>
在代码中用//做单行注释;用/**/作多行注释
2.C#语言中有哪几种控制语句?
●条件控制ifelseswitchcase
●循环控制whiledoforforeach
●跳转语句breakcontinue
3.在构造表达式时,怎样明确指定运算次序?
见表2-8运算符从高到低的优先级顺序
4.指出下列语句中的语法错误
inti;
for(i=1;i<=10;i++)
{
if((i%2)=0)
continue;
Response.Write(i);
}
答:
if((i%2)=0)中要用==
5.下列语句有哪些语法错误?
string[]arr=newstring[5]
string[5]=5thstring.
答:
string[]arr=newstring[5]
string[5]=“hello”
.
语句缺少分号;
字符串要用双引号””
6.写一个程序,把字符串“HelloWord”以相反顺序输出
<%@PageLanguage="C#"%>
<%
Strings="HelloWorld";
for(inti=s.Length-1;i>=0;i--)
{
Response.Write(s[i]);
}
%>
7.下面函数有什么错误?
boolWrite()
{
Response.Write("Textoutputfromfunction.");
}
答:
缺少reture语句。
可改为:
voidWrite()
{
Response.Write("Textoutputfromfunction.");
}
8.上机调试书中例题。
第3章服务器端控件
1.Web控件有哪些共用属性?
见表3-2。
2.简述Label、LinkButton、TextBox、CheckBoxList、RadioButtonList、DropDownList控件的用途。
(略)
3.利用Calendar控件创建一个Web页面。
要求:
周六、日对应的列加上边框;当在日历中选择5月1日、6月1日、10月1日时,在页面下方显示相应的节日信息(劳动节、儿童节、国庆节)。
<%@ImportNamespace="System.Drawing"%>
voidDayRender(Objectsender,DayRenderEventArgse)
{
//取得正在显示的日期信息
CalendarDaycalendarDay=e.Day;
DateTimed=calendarDay.Date;
//取得正在显示的单元格
TableCellc=e.Cell;
if(d.Day==1)
{
if(d.Month==5)
{
c.Controls.Add(newLiteralControl("
劳动节"));
}
elseif(d.Month==6)
{
c.Controls.Add(newLiteralControl("
儿童节"));
}
elseif(d.Month==10)
{
c.Controls.Add(newLiteralControl("
国庆节"));
}
}
}
Calendarid=Calendar1runat="server" NextPrevFormat="CustomText" NextMonthText="下月" PrevMonthText="上月" SelectionMode="DayWeekMonth" SelectWeekText="选择整周" SelectMonthText="选择整月" OnDayRender="DayRender" /> Labelid="Label1"runat="server"/> 4.验证控件有哪几种? 简述它们各自的功能。 控件名称 说明 RequiredFieldValidator 验证用户是否已输入数据 CompareValidator 将用户输入的数据与另一个数据进行比较 CustomValidator 自定义的验证方式 RangeValidator 验证用户输入的数据是否在指定范围内 RegularExpressionValidator 以特定规则验证用户输入的数据 ValidationSummary 显示未通过验证的控件的信息 5.运用验证控件来编写一个简单的用户注册页面。 要求如下: 用户名不能为空,且必须为4-8个英文字符;两次输入密码相同;年龄在20~30岁之间;如未通过验证,则汇总显示错误信息。 <%@PageLanguage="C#"%> 姓 名: TextBoxid="txtName"runat="server"/>* RequiredFieldValidatorid="RequireName"runat="server"ControlToValidate="txtName"Display="Static"ErrorMessage="请输入姓名"> (必须填写) RequiredFieldValidator> RegularExpressionValidatorid="RegularExpressionValidator1"runat="server"ErrorMessage="必须为
4-8位英文字母" ControlToValidate="txtName"ValidationExpression="[a-zA-Z]{4,8}"> RegularExpressionValidator> 密码: TextBoxid="txtPassword1"runat="server"/> * RequiredFieldValidatorid="RequirePassword1"runat="server"ErrorMessage="请输入姓名"ControlToValidate="txtPassword1"> (必须填写) RequiredFieldValidator> 密码确认: TextBoxid="txtPassword2"runat="server"Width="136px"> TextBox>* CompareValidatorid="CompareValidator1"runat="server"ErrorMessage="两次输入密码必须一致"ControlToValidate="txtPassword2" ControlToCompare="txtPassword1"> CompareValidator> RequiredFieldValidatorid="RequirePassword2"runat="server"ErrorMessage="请输入姓名"ControlToValidate="txtPassword2"> (必须填写) RequiredFieldValidator> Buttonid="submit"runat="server"Text="验证"> Button> ValidationSummaryid="chkall"runat="server"DisplayMode="BulletList"HeaderText="请检查下列错误: "/> 6.HTML的标记如何转化为HTML控件? HTML标记转化为HTMLServer控件,只需以下两步: 1)在标记中加入Runat="Server"属性 2)在控件标识中加入Id属性 7.上机调试书中例题。 (略) 第4章ADO.NET数据库访问技术 1..NET提供者模型的4个核心对象是什么? .NETFramework数据提供程序提供了4个核心对象,分别为Connection对象、Command对象、DataReader对象和DataAdapter对象。 (1)连接对象 连接对象是您要使用的第一个对象,它提供了到数据源的基本连接。 如果您所使用的是要求用户名和密码的数据库,或者是位于远程网络服务器上的数据库,则连接对象就可以提供建立连接并登录的细节。 (2)命令对象 可以使用此对象发出命令,比如对数据源的SQI查询,如“SEIECT*FROMCustomers”语句查询在Customers表中的数据。 包括用于SQLServer的SqlCommand和用于OLEDB的OleDbCommand。 (3)DataReader对象 这是一个快速而易于使用的对象,可以从数据源中读取仅能前向和只读的数据流。 此对象具有最好的功能,可以简单地读取数据。 包括用于SQLServer的SqlDataReader和用于OLEDB的OleDbDataReader。 (4)DataAdapter对象 这是一个通用的类,可以执行针对数据源的各种操作,包括更新变动的数据,填充数据集以及其他操作。 包括用于SQLServer的SqlDataAdapter和用于OLEDB的OleDataAdapter。 2.写一个连接到SQLServer数据库的连接串,数据库服务器名为TEACHER6\STU,登录为wjh,口令为1 stringconnectionString="server=TEACHER6\\STU;database=pubs;uid=wjh;pwd=1"; 3.编程显示Demo数据库的news表内的所有数据。 <%@PageLanguage="C#"Debug="true"%> <%@ImportNamespace="System.Data"%> <%@ImportNamespace="System.Data.SqlClient"%> publicvoidPage_Load(Objectsrc,EventArgse) { stringconnStr="server=(local);database=demo;integratedsecurity=true"; SqlConnectionconn=newSqlConnection(connStr); //创建DataAdapter对象 SqlDataAdapterda=newSqlDataAdapter("select*fromnews",conn); //创建数据集DataSet DataSetds=newDataSet(); //取users表的数据填充到DataSet中 da.Fill(ds,"Customers"); //把DataSet内的第一个表Tables[0]绑定到DataGrid上 dg.DataSource=ds.Tables[0]; //在DataGrid中显示绑定的数据 dg.DataBind(); } GridViewid="dg"runat="server"/> 4.ADO.NET中的什么对象支持数据的离线访问? DataSet对象一个重要的特性是离线操作,即从数据库中取回数据,存到DataSet对象中后,程序可以马上断开与数据库的连接,用户可以对内存中DataSet中的数据进行增加、删除等修改,而当需要把改动反映到数据库时,只要重新与数据库建立连接,并利用相应的命令实现更新。 这意味着程序和数据库的连接时间可以尽可能短,减少对数据库服务器资源的占用。 这对于WEB应用程序有着重要意义。 5.DataAdapter的作用是什么? 由于DataSet对象本身不具备和数据源沟通的能力,要修改数据并更新回数据源,需要DataAdapter对象。 DataAdapter提供的是对于数据集的填充和对更新的回传任务,对于DataSet来说,DataAdapter有点像一个搬运工: 它把数据从数据库“搬运”到DataSet中,DataSet中的数据有了改动的时候,又可以把这些改动“反映”给数据库。 而DataAdapter做这件事情,靠的是它所包含的4个Command对象: ●SelectCommand用于在数据源中选择记录的SQL命令 ●InsertCommand用来在数据源中插入新记录的SQL命令 ●UpdateCommand用于更新数据源中的记录的SQL命令 DeleteCommand用来从数据集删除记录的SQL命令 6.CommandBuilder的作用是什么? DataAdapter中有四个Command对象属性,分别是SelectCommand、InsertCommand、UpdateCommand以及DeleteCommand属性。 我们可以预先准备好这几个Command,需要是DataAdapter会自动调用。 但创建这些Command比较麻烦,系统提供了一个简化的方法,即利用CommandBuilder对象自动构建: OleDbCommandBuildercb=newOleDbCommandBuilder(da); 7.DataReader的特点是什么? 当我们只需要顺序的读取数据而不需要其他操作时,可以使用DataReader对象。 DataReader对象一次读取一条记录,而且这些数据是只读的,并不允许作其他的操作。 由于DataReader在读取数据的时候限制了每次以只读的方式读取一条记录,所以使用DataReader不但节省资源而且效率很高。 8.上机调试书中例题。 (略) 第5章VS.NET开发会员管理系统 1.编程规范有何作用? 变量命名要遵循哪些规范? (略) 2.上机调试会员管理系统的各个模块。 (略) 3.如何在web.Config中存放和读取数据库连接信息? 在web.Config中配置连接串: value=“server=(local);uid=sa;pwd=;database=pubs”/> 在程序中读取连接串: <%@Pageanguage=“C#”%> <% stringstr=ConfigurationSettings.AppSettings[“DSN”]; Response.Write(“数据库的连接串为: ”+str+“”); %> 4.什么是配置继承? ASP.NET应用程序可以拥有多个配置文件,而且配置文件名称都是Web.config。 这些配置文件可以出现在.ASP.NETWeb应用程序服务器上的多个目录中。 每个Web.config文件都将配置设置应用于它自己的目录和它下面的所有子目录。 子目录中的配置文件可以提供除从父目录继承的配置信息以外的配置信息,并可以重写或修改父目录中定义的设置。 名为%systemroot%\Microsoft.NET\Framework\V版本号\CONFIG\Machine.config定义了整个Web服务器的缺省配置。 machine.config文件只能有一个,但可以有多个web.config文件,Machine.config文件包含ASP.NET所需要的机器特定配置信息,而web.config文件包含具体Web应用程序的配置信息,它可以覆盖machine.config文件中的默认配置,从而为Web应用程序创建特定的运行环境。 5.发布并配置会员管理系统网站。 (略) 第6章数据窗体设计 1.GridView控件提供哪些事件,分别响应什么事件? 事件 描述 PageIndexChanging, PageIndexChanged 在网格控件处理分页操作之前和之后激发。 RowCancelingEdit 在该行退出编辑模式之前发生。 RowCommand 单击一个按钮时发生。 RowCreated 创建一行时发生。 RowDataBound 一个数据行绑定到数据时发生。 RowDeleting,RowDeleted 在该网格控件删除行之前和之后激发。 RowEditing 进入编辑模式之前发生。 RowUpdating, RowUpdated 网格控件更行之前和之后激发。 SelectedIndexChanging, SelectedIndexChanged 网格控件处理选择操作之前和之后激发。 Sorting,Sorted 网格控件处理排序操作之前和之后激发。 2.GridView控件有哪些列类型,它们各自的功能是什么? 类型 描述 BoundField 默认的列类型。 作为纯文本显示一个字段的值。 ButtonField 作为命令按钮显示一个字段的值。 我们可以选择链接按钮或按钮开关样式。 CheckBoxField 作为一个复选框显示一个字段的值。 它通常用来生成布尔值。 CommandField ButtonField的增强版本,表示一个特殊的命令,诸如Select、Delete、Insert或Update。 该属性对GridView控件几乎每什么用;该字段是为DetailsView控件定制的。 HyperLinkField 作为超链接显示一个字段的值。 ImageField 作为一个HTML标签的Src属性显示一个字段的值。 绑定字段的内容应该是物理图象的URL。 TemplateField 为列中的每一项显示用户定义的内容。 当我们需要创建一个定制的列字段时,则使用该列类型。 模板可以包含任意多个数据字段,还可以结合文字、图像和其他控件。 3.分别用Reapter与DataList控件实现Demo数据库中news表数据的显示。 用Reapter控件显示news表数据: <%@PageLanguage="C#"%> <%@ImportNamespace="System.Data"%> <%@ImportNamespace="System.Data.SqlClient"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> protectedvoidPage_Load(objectsender,EventArgse) { SqlConnectionConn=newSqlConnection("server=(local);integratedsecurity=true;database=demo"); SqlDataAdapterda=newSqlDataAdapter("select*fromnews",Conn); DataSetds=newDataSet(); da.Fill(ds); Repeater1.DataSource=ds; Repeater1.DataBind(); } //www.w3.org/1999/xhtml"> RepeaterID="Repeater1"runat="server"> 如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。 copyright@ 2008-2022 冰点文档网站版权所有 经营许可证编号:鄂ICP备2022015515号-1