第1章https://www.doczj.com/doc/5919308542.html,基础
1.什么是静态网页?什么是动态网页?
静态网页就是用纯HTML代码编写的网页。这些网页的代码是用一些编辑器输入的,或者是用一些网页设计程序生成的,保存为.html或.htm文件的形式。设计完成之后,无论是哪个用户访问这个网页,在什么时候访问这个网页,以何种方式进入这个网页,它的显示都不会发生任何变化。
要对用户请求做出动态响应,就要使用动态网页,动态网页可以为不同的用户提供个性化的服务,而为了实现这种动态性,就需要进行程序设计。
2.简述你对https://www.doczj.com/doc/5919308542.html,的事件驱动机制的理解。
https://www.doczj.com/doc/5919308542.html,使用一个事件驱动编程模型。该模型定义了一个事件序列,这些事件在页面的生命周期中被依次引发,顺序为Init →Load →控件事件→Unload
对每个引发的事件,你可能需要完成一些任务。可以在称为事件处理过程中编写代码。例如,可以在Web页面的Init或Load事件中编写页面初始化代码。Page_Init是页面的Init 事件的事件处理器,而page_Load是页面的Load事件的事件处理器。
3.简述页面的事件序列,事件触发时机及顺序。
4.IsPostBack的作用是什么?
在page_Load的过程中,你可以读取或者重置页面的属性和控件的属性,根据IsPostBack属性判定页面是否为第一次被请求,执行数据绑定等等。IsPostBack属性为false 表明页面是被第一次显示,为true表明页面被请求后返回(PostBack)的结果值。
5.怎样配置https://www.doczj.com/doc/5919308542.html,运行环境?
(略)
第2章C#语言基础
1.怎样在https://www.doczj.com/doc/5919308542.html,程序中加入注释文本?
可以使用服务器端注释在https://www.doczj.com/doc/5919308542.html,页面中包括注释,服务器端注释说明文档,也可防止服务器代码和静态内容执行或呈现。服务器端注释以<%一开始,以一%>结束。如下所示:<%-- 这是一个注释--%>
在代码中用//做单行注释;用/* */作多行注释
2.C#语言中有哪几种控制语句?
●条件控制if else switch case
●循环控制while do for foreach
●跳转语句break continue
3.在构造表达式时,怎样明确指定运算次序?
见表2-8 运算符从高到低的优先级顺序
4.指出下列语句中的语法错误
int i;
for (i = 1; i <= 10; i++)
{
if ((i % 2) = 0)
continue;
Response.Write(i);
}
答:
if ((i % 2) = 0)中要用==
5.下列语句有哪些语法错误?
string[] arr = new string[5]
string[5] = 5th string.
答:
string[] arr = new string[5]
string[5] = “hello”
.
语句缺少分号;
字符串要用双引号””
6.写一个程序,把字符串“Hello Word”以相反顺序输出<%@ Page Language="C#" %>
<%
String s="Hello World";
for (int i = s.Length-1;i>=0;i--)
{
Response.Write(s[i]);
}
%>
7.下面函数有什么错误?
bool Write()
{
Response.Write("Text output from function.");
}
答:
缺少reture语句。可改为:
void Write()
{
Response.Write("Text output from function.");
}
8.上机调试书中例题。
第3章服务器端控件
1.Web控件有哪些共用属性?
见表3-2。
2.简述Label、LinkButton、TextBox、CheckBoxList、RadioButtonList、DropDownList
控件的用途。
(略)
3.利用Calendar控件创建一个Web页面。要求:周六、日对应的列加上边框;当
在日历中选择5月1日、6月1日、10月1日时,在页面下方显示相应的节日信息(劳动节、儿童节、国庆节)。
<%@ Import Namespace="System.Drawing" %>
void DayRender(Object sender,DayRenderEventArgs e)
{
//取得正在显示的日期信息
CalendarDay calendarDay = e.Day;
DateTime d=calendarDay.Date;
//取得正在显示的单元格
TableCell c = e.Cell;
if (d.Day==1)
{
if (d.Month==5)
{
c.Controls.Add(new LiteralControl("
劳动节"));
}
else if(d.Month==6)
{
c.Controls.Add(new LiteralControl("
儿童节"));
}
else if (d.Month==10)
{
c.Controls.Add(new LiteralControl("
国庆节"));
}
}
}
4.验证控件有哪几种?简述它们各自的功能。
5.运用验证控件来编写一个简单的用户注册页面。要求如下:用户名不能为空,且
必须为4-8个英文字符;两次输入密码相同;年龄在20~30岁之间;如未通过验证,则汇总显示错误信息。
<% @ Page Language="C#" %>
6.HTML的标记如何转化为HTML控件?
HTML标记转化为HTML Server控件,只需以下两步:
1)在标记中加入Runat="Server"属性
2)在控件标识中加入Id属性
7.上机调试书中例题。(略)
第4章https://www.doczj.com/doc/5919308542.html,数据库访问技术
https://www.doczj.com/doc/5919308542.html,提供者模型的4个核心对象是什么?
.NET Framework数据提供程序提供了4个核心对象,分别为Connection对象、Command 对象、DataReader对象和DataAdapter对象。
(1)连接对象
连接对象是您要使用的第一个对象,它提供了到数据源的基本连接。如果您所使用的是要求用户名和密码的数据库,或者是位于远程网络服务器上的数据库,则连接对象就可以提供建立连接并登录的细节。
(2)命令对象
可以使用此对象发出命令,比如对数据源的SQI查询,如“SEIECT * FROM Customers”语句查询在Customers表中的数据。包括用于SQL Server的SqlCommand和用于OLEDB的OleDbCommand。
(3)DataReader对象
这是一个快速而易于使用的对象,可以从数据源中读取仅能前向和只读的数据流。此对象具有最好的功能,可以简单地读取数据。包括用于SQL Server的SqlDataReader和用于OLEDB的OleDbDataReader。
(4)DataAdapter对象
这是一个通用的类,可以执行针对数据源的各种操作,包括更新变动的数据,填充数据集以及其他操作。包括用于SQL Server的SqlDataAdapter和用于OLEDB的OleDataAdapter。
2.写一个连接到SQL Server数据库的连接串,数据库服务器名为TEACHER6\STU,登
录为wjh,口令为1
string connectionString ="server=TEACHER6\\STU;database=pubs;uid=wjh;pwd=1";
3.编程显示Demo数据库的news表内的所有数据。
<%@Page Language="C#"Debug="true" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.SqlClient" %>
public void Page_Load(Object src,EventArgs e)
{
string connStr="server=(local);database=demo;integrated security=true";
SqlConnection conn = new SqlConnection(connStr);
//创建DataAdapter对象
SqlDataAdapter da = new SqlDataAdapter("select * from news",conn);
//创建数据集DataSet
DataSet ds = new DataSet();
//取users表的数据填充到DataSet中
da.Fill(ds," Customers");
//把DataSet内的第一个表Tables[0]绑定到DataGrid上
dg.DataSource = ds.Tables[0];
//在DataGrid中显示绑定的数据
dg.DataBind();
}
https://www.doczj.com/doc/5919308542.html,中的什么对象支持数据的离线访问?
DataSet对象一个重要的特性是离线操作,即从数据库中取回数据,存到DataSet对象中后,程序可以马上断开与数据库的连接,用户可以对内存中DataSet中的数据进行增加、删除等修改,而当需要把改动反映到数据库时,只要重新与数据库建立连接,并利用相应的命令实现更新。这意味着程序和数据库的连接时间可以尽可能短,减少对数据库服务器资源的占用。这对于WEB应用程序有着重要意义。
5.DataAdapter的作用是什么?
由于DataSet对象本身不具备和数据源沟通的能力,要修改数据并更新回数据源,需要DataAdapter对象。
DataAdapter提供的是对于数据集的填充和对更新的回传任务,对于DataSet来说,DataAdapter有点像一个搬运工:它把数据从数据库“搬运”到DataSet中,DataSet中的数据有了改动的时候,又可以把这些改动“反映”给数据库。而DataAdapter做这件事情,靠的是它所包含的4个Command对象:
●SelectCommand 用于在数据源中选择记录的SQL命令
●InsertCommand 用来在数据源中插入新记录的SQL命令
●UpdateCommand 用于更新数据源中的记录的SQL命令
DeleteCommand 用来从数据集删除记录的SQL命令
https://www.doczj.com/doc/5919308542.html,mandBuilder的作用是什么?
DataAdapter中有四个Command对象属性,分别是SelectCommand、InsertCommand、UpdateCommand以及DeleteCommand属性。我们可以预先准备好这几个Command,需要是DataAdapter会自动调用。但创建这些Command比较麻烦,系统提供了一个简化的方法,即利用CommandBuilder对象自动构建:
OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
7.DataReader的特点是什么?
当我们只需要顺序的读取数据而不需要其他操作时,可以使用 DataReader 对象。DataReader对象一次读取一条记录,而且这些数据是只读的,并不允许作其他的操作。由于DataReader在读取数据的时候限制了每次以只读的方式读取一条记录,所以使用DataReader不但节省资源而且效率很高。
8.上机调试书中例题。(略)
第5章https://www.doczj.com/doc/5919308542.html,开发会员管理系统
1.编程规范有何作用?变量命名要遵循哪些规范?(略)
2.上机调试会员管理系统的各个模块。(略)
3.如何在web.Config中存放和读取数据库连接信息?
在web.Config中配置连接串:
value=“server=(local);uid=sa;pwd=;database=pubs”/> 在程序中读取连接串: <% @ Pageanguage=“C#” %> <% string str=ConfigurationSettings.AppSettings[“DSN”]; Response.Write(“数据库的连接串为:”+str+“”); %> 4.什么是配置继承? https://www.doczj.com/doc/5919308542.html,应用程序可以拥有多个配置文件,而且配置文件名称都是Web.config。这些配置文件可以出现在https://www.doczj.com/doc/5919308542.html, Web应用程序服务器上的多个目录中。每个Web.config文件都将配置设置应用于它自己的目录和它下面的所有子目录。子目录中的配置文件可以提供除从父目录继承的配置信息以外的配置信息,并可以重写或修改父目录中定义的设置。名为%systemroot%\https://www.doczj.com/doc/5919308542.html,\Framework\V版本号\CONFIG\Machine.config定义了整个Web 服务器的缺省配置。machine.config文件只能有一个,但可以有多个web.config文件,Machine.config文件包含https://www.doczj.com/doc/5919308542.html,所需要的机器特定配置信息,而web.config文件包含具体Web应用程序的配置信息,它可以覆盖machine.config文件中的默认配置,从而为Web应用程序创建特定的运行环境。 5.发布并配置会员管理系统网站。(略) 第6章数据窗体设计 3.分别用Reapter与DataList控件实现Demo数据库中news表数据的显示。 用Reapter控件显示news表数据: <%@Page Language="C#" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> "https://www.doczj.com/doc/5919308542.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd"> protected void Page_Load(object sender, EventArgs e) { SqlConnection Conn = new SqlConnection("server=(local);integrated security=true;database=demo"); SqlDataAdapter da = new SqlDataAdapter("select * from news", Conn); DataSet ds = new DataSet(); da.Fill(ds); Repeater1.DataSource = ds; Repeater1.DataBind(); }
用DataList控件显示news表数据:
在上面代码中把“Repeater”改为“DataList”即可。
4.编写程序,用GridView控件对Demo数据库中users表进行编辑与删除。
<%@Page Language="VB"AutoEventWireup="false"CodeFile="Default.aspx.vb"
Inherits="_Default" %>
"https://www.doczj.com/doc/5919308542.html,/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5.什么是数据源控件,https://www.doczj.com/doc/5919308542.html,共包含哪几种数据源控件?
数据源控件提供一种从数据库获取数据的方法,数据源控件提供从用户界面进行添加、
6.GridView控件、DetailsView控件与FormView控件中的DataKeyNames属性有什
么作用,是否必须设置该属性?
DataKeyNames属性表示数据源中对应表的主键字段,在进行编辑与删除时,需要主键来定位,此时必须设置该属性;如果这是显示数据,可以不设置该属性。
7.DetailsView控件与FormView控件有什么区别?
FormView控件类似于DetailsView控件,因为它能方便地显示后端数据源的单个记录。
虽然这两个控件一次显示一条记录,DetailsView和FormView的关键差别在于:FormView利用用户定义的模板;而DetailsView则使用行字段。FormView控件没有预先定义数据布局;相反,你建立一个包含控件的模板来显示记录中的单个字段。模板中包含建立表单所要用到的格式、控件和绑定表达式。
8.上机调试书中例题。(略)
第7章内置对象与缓存
1.为什么要对Application对象进行锁定?何时进行锁定?
由于Application对象是所有用户共享的,为了避免修改时出现出现争用、死锁或访问冲突,在对Application对象进行修改时,必须先将其锁定,修改完之后进行解锁。
HttpApplication类提供了锁定Lock和解锁Unlock两种方法,我们可以用如下方式实现对Application对象的创建或修改:
Application.Lock(); //锁定Application
Application[“变量名”]=值; //修改Application
Application.UnLock(); //解锁Application
2.A https://www.doczj.com/doc/5919308542.html,包含哪些内置对象?各有什么功能?(略)
3.如何利用Response对象实现网页的跳转?
Redirect:将客户端重定向到新的URL页面
4.如何得到客户端的IP地址?
我们可用https://www.doczj.com/doc/5919308542.html,erHostAddress或Request.SerVariables[“REMOTE_ADDR”]来获取客户端的IP地址
5.A pplication对象、Session对象和Cookie对象有什么区别和联系?
Cookies、Session和Application对象很类似,也是一种集合对象,都是用来在保存数据。但Cookies和其他对象最大的不同是Cookies将数据存放于客户端的磁盘上,而Application以及Session对象是将数据存放于Server端。浏览器对Cookie的大小有限制,因此,只有不超过4096字节才能保证被接受。
6.简述Cookie的用途及其局限性。
但Cookies和其他对象最大的不同是Cookies将数据存放于客户端的磁盘上,在使用Cookie验证使用者时,必须要考虑到身份验证的问题。因为使用者可能在非私人的计算机上浏览,或是个人计算机的安全防护不完善;导致其他人可能使用同一个浏览器上站,这样一来任何人都可以顺利的通过Cookie的验证。对于有机密考虑的数据或是有价交易的处理,势必造成漏洞;设计这方面的网站时,要小心仔细考虑Cookie的应用。
7.S erver的UrlEncode() 、MapPath()和HTMLEncode()各起什么作用?
传递网页参数时将数据附在网址后面传递,但是遇到一些如#、&的特殊字符会读不到这些字符之后的参数。所以在需要传递特殊字符的场合,先将欲传递的内容以UrlEncode 加以编码,以保证所传递过去的值可以顺利被读到,而UrlDecode方法则是将编码过的内容译码还原。
在程序中,一般使用文件的虚拟路径或相对路径,以使程序有较大的灵活性。但有时必须给出其实际路径,此时可用MapPath方法将虚拟路径转换为实际路径。
当我们想在网页上显示HTML标注时,若在网页中直接输出则会被浏览器解释为HTML的内容,所以要通过Server对象的HtmlEncode方法将它编码再输出;而若要将编码后的结果译码回原本的内容,则使用HtmlDecode方法。
9.上机调试书中例题。(略)
第8章网站导航控件与W EB服务
1.什么是站点地图?
站点地图是一种扩展名为.sitemap的标准XML文件,用来描述网站的逻辑结构,为站点导航控件提供站点分层形式组织页面的信息。默认情况下,站点地图文件命为Web.sitemap,存储在应用程序根目录下。SiteMapPath、TreeView、Menu控件的网站导航信息和链接的数据可以由Web.sitemap文件提供。
2.导航有哪些控件,起什么作用?
导航控件有TreeView、Menu、SiteMapPath控件;
Menu控件显示一个可展开的菜单,让用户可以遍历访问站点中的不同页面。
TreeView控件显示一个树形结构,主要用来显示分级数据
SitemapPath控件能够根据站点导航信息,显示用户当前所在页面的路径,并指出用户返回根目录的路径,从而可以向用户反馈正在查看的是哪个页面,以及这个页面在站点中位于哪个层次结构。
3.解释下列名词:Web服务、XML、SOAP、WSDL
(1)Web服务:是指以XML或者JSON作为数据交换格式、部署在Intemet服务器上
的一种特殊的应用程序。它为实现数据和系统的互操作性提供了有效的解决方案,为网络协同运行异构系统提供了方便的手段。通俗地讲,Web服务是在Internet服
务器上提供的一种应用程序,在这个应用程序中,包含了可以被各种客户端程序(相
对于Web服务器来说的)调用的方法。
(2)XML:是存储数据的标准方法,XML数据很容易在不同机器或平台之问传输。
(3)SOAP:建立了一组用于处理请求和响应的协议,包括类名、方法名和参数。
(4)WSDL:在Web服务中,调用方法的格式是由WSDL(Web Service Description
Language,Web服务描述语言)所指定的描述来控制的。WSDL规定了方法名、可
传送的参数、函数返回值等方面的信息。
4.谈谈你对XML以及Web服务的认识。(略)
5.上机调试书中例题。(略)
第9章母板页与主题
1.简述将ASPX网页转换成用户控件的方法。
可把Web窗体改变为用户控件步骤如下:
●在代码文件中,将后置代码的基类从System.Web.UI.Page更改为
https://www.doczj.com/doc/5919308542.html,erControl。
●从.aspx文件中删除、
、和