资源描述
ASP.NET期末复习材料
第一章 ASP.NET2.0开发基础
掌握要点:软件设计、网站设计的一般知识、ASP.NET网站架设(IIS设置)
1、ASP.NET 是一种动态网站程序开发技术,采用B/S软件开发模型。
2、ASP.NET 由网页文件.aspx和代码文件.aspx.cs(以C#语言开发),网页文件由文件头和普通的Html段组成,代码可以独立写在代码文件中,也可写在网页中<Script>…</Script>
3、讲解几个相关的英文缩写
Html: HyperText markup Language 超文本标记式语言
Xhtml: Extensible HyperText Markup Language 可扩展超文本标记语言。
Xml: Extensible Markup Language 可扩展标记式语言,不能独立执行
WWW: world wide Web 万维网
Http: HyperText transfers protocol 超文本传输协议
Url: Uniform Resoure Locator 统一资源定位器
C/S: Client/Server 客户机/服务器,基于C/S的开发模式
B/S: Browser/Server 浏览器/服务器,基于B/S的开发模式
ASP: Active Server Pages 动态服务网页,是一种动态网页设计技术
IIS: Internet Information Server Internet 信息服务器
CLR: Common Language Runtime 公共语言运行库
CGI: Common Gateway Interface 公共网关接口
ADO: Active Data Object 动态数据对象
4、动态网页和静态网页的区别和工作原理
区别:(1)动态网页含有程序代码,静态网页不含程序代码
(2)动态网页与服务器可以实现信息互动,而静态网页只有接受服务器的信息
(3)静态网页较为简单,可以使用网页编辑工具来制作,动态网页比较复杂,需要使用 ASP、PHP、JSP、ASP.NET等专门的动态网页设计语言来开发。
静态网页与动态网页的优缺点:
优点:
静态网页:
1)静态网页的内容相对稳定,因此容易被搜索引擎检索;
动态网页:
1)动态网页以数据库技术为基础,可以大大减少降低网站维护的工作量;
2) 采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;
缺点:
静态网页:
1)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
2) 静态网页的交互性交叉,在功能方面有较大的限制。
动态网页:
1)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求
5、常见的动态网页设计技术及其优缺点?
CGI技术成熟而且功能强大,但由于编程困难,效率低下,修改复杂等缺陷
ASP优点:
1). 无需编译
2). 易于生成
3). 独立于浏览器
4). 面向对象
5). 与任何ActiveX scripting 语言兼容
6). 源程序码不会外漏
缺点:
1).Windows本身的所有问题都会一成不变的也累加到了它的身上。安全性、稳定性、跨平台性都会因为与NT的捆绑而显现出来。
2).ASP由于使用了COM组件所以它会变的十分强大,但是这样的强大由于Windows NT系统最初的设计问题而会引发大量的安全问题。只要在这样的组件或是操作中一不注意,哪么外部攻击就可以取得相当高的权限而导致网站瘫痪或者数据丢失。
3).由于ASP还是一种Script语言所没除了大量使用组件外,没有办法提高其工作效率。它必须面对即时编绎的时间考验,同时我们还不知其背后的组件会是一个什么样的状况。
4).无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的。
5、还无法完全实现一些企业级的功能:完全的集群、负载均横。
ASP.NET优点:
1). 简洁的设计和实施。
2). 语言灵活,并支持复杂的面向对象特性。
3). 开发环境。
缺点:
1.数据库的连接复杂。
JSp优点:
1).一处编写随处运行。
2).系统的多台平支持。
3).强大的的可伸缩性。
4).多样化和功能强大的开发工具支持。
缺点:
1).与ASP一样,Java的一些优势正是它致命的问题所在。
2).缺少系统性的资料。
3).速度超慢
PHP优点:
1).一种能快速学习、跨平台、有良好数据库交互能力的开发语言。
2).简单轻便,易学易用。
3).与Apache及其它扩展库结合紧密。
4).良好的安全性。
缺点:
1).数据库支持的极大变化。
2).不适合应用于大型电子商务站点
3).安装复杂。
4).缺少正规的商业支持。
5).无法实现商品化应用的开发。
6、.Net Framework、ASP.net、VB.net、C#.net的关系
Visual Studio 2005
ASP.NET
ADO.NET
XML
.NET语言
.NET Framework 2.0
Windows 操作系统
.NET Framework 包括三部分:公共语言运行库(Common Language Runtime,CLR)、基础类库、VB.NET/C#.NET等语言运行库。
7、.NET Framwork的组成部分,有何作用?
.NET Framework具有两个主要组件:公共语言运行库和.NET Framework类库。可以将公共语言运行库看作一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的类型安全以及可提高安全性和可靠性的其他形式的代码准确性。另一个主要组件是类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新的应用程序(如Web窗体和XML Web services)。
8、ASP.NET运行所需的环境?
若要开发ASP.NET Web应用程序(也可称为网站),必须具有以下工具:
①.NET Framework 2.0
②代码创作环境(Microsoft Visual Studio或者其他集成开发环境(IDE) )
③一个Web服务器(如 Internet 信息服务 (IIS))
第二章 C#语言快速掌握
掌握要点:C#的程序构成(变量、常量、语句、过程子程序、函数子程序、常用函数)、C#类(特性、创建、结构)、常用系统类,面向对象的概念
1、C#的语句以“;”结束;{……}为一个语句块,除非有转向语句,否则视为一条语句执行;
2、C#的行注释以“//”开头;块注释以“/*”开头,以“*/”结束;
3、C#的关键字(或变量)有大小写的区分;
4、C#的数据类型关键字一般为小写字母,变量以大写字母开头;
5、常量和变量
数据类型:
(1) 数值类型(整型{int,byte,char,long,short},浮点型{float,double,decimal})
(2) Bool类型(布尔型){TRUE||FALSE}
(3) 结构类型 struct Student
(4) 枚举型 enum
(5) 字符串 string
(6) 指针类型 *p;
数组定义:
数组类型[] 数组名=new 数组类型[元素数]
常量表示:
(1)int i; i=15; long lk=100L(l);
(2)float a=12.5F(f); double da=125.6D(d); decimal dc=12.56M(m);
(3)char ab=’A’; int i; 允许 i=ab 此时i=65 不允许 ab=ab+32;
(4)bool ny=true; ny=100>80; …
(5)struct student
{public string sno;
public string sname;
pubilic string ssex;
public int sage;
}; //结构体定义以“;”结束;
(6)转义字符 “\n” 换行,注意:“\0”字串结束不起作用,算一个字符但不显示
(7)数组定义并赋值
int[] Sage={10,12,15,}; =>
int[] Sage=new int[3]{10,12,15}; =>
int[] Sage=new int[3];
Sage[0]=10;Sage[1]=12;Sage[2]=15;
int[,] score={{80,70,85},{80,90,70},{65,55,76}}; =>
int[,] score=new int[3,3]{ {80,70,85},{80,90,70},{65,55,76}};
用户标识符规则:以字母或@开始,后跟字母、数字、下划线,不能跟关键字同。
常量(常数)const 类型 常量名=常量值
6、运算符和表达式
算术运算符: +(加) –(减) *(乘) /(除) %(取余) ++(自增) –(自减)
-14%3=-2 13%3=1 2/3=0
复合运算 *= += /=
int i=20,j=0;
j++;
i*=j; => i=i*j;
字符串运算符: & +
比较运算符: ==(等于) >(大于) <(小于) >=(大于等于) >=(小于等于) !=(不等于)
逻辑运算符: &&(和) ||(或) !(非)
条件运算 条件表达式?v1:v2
例 int i; i=12<10?100:120; i=120;
7、语句
(1)条件语句 (If 语句)
格式:If(条件表达式1){语句块…}
[else
{语句块2}]
(2)条件分支语句 (switch 语句)
格式: switch(变量或表达式)
{
case vl1:
语句1;
break;
case vl2
语句2;
break;
… …
[Case vln
语句n;break;]
[default:
语句n+1]
}
(3)do-while 循环语句
格式:do
[循环体]
while(条件表达式);
(4)while 循环
格式:while(条件表达式)
{
[语句块]
}
(5)for 循环
格式:for(表达式1;表达式2;表达式3)
{语句体}
(6)foreach … in 循环语句
格式:foreach(类型 变量 in 数组或对象集合)
{语句块}
作用:对一个数组或集合中各个元素遍历。
string[] name ={ "小李", "张森", "林一", "江虎" };
foreach (string st in name)
Response.Write(st+"<br>");
(7)跳转语句
break 跳出循环体或语句块
continue 提前结束本次循环进入下一次循环
return 返回一个值,返回主调函数
goto 转到指定的标签
分析下列程序执行的结果
string[] name ={ "小李", "张森", "林一", "江虎" };
int i = 0;
star: //标签
i++;
foreach (string st in name)
Response.Write(st+",");
Respone.Write(“<br>”);
if (i > 2) return;
goto star; //转向指定标签
8、C#的函数 [protect|provite|public] 返回值 函数名(形参表)
{函数体;
return 表达式;}
void promt(string str)
{
Response.Write("<script language=\"jscript\">confirm(\"" + str + "\")</script>");
}
实例:写出一个函数实现数列1、1、2、3、5、8、13、…,并用一个子程序输出第30个数。
long num()
{
long l1=1,l2=1,l;
for(int i=3;i<31;i++)
{l=l1+l2;l1=l2;l2=l;}
}
9、对象和类之间的逻辑关系?
类创建一种新的数据类型,该种类型能被用来创建对象。也就是,类创建了一个逻辑的框架,该框架定义了它成员之间的关系。当你声明类的对象时,你正在创造该类的实例。因此,类是一个逻辑构造,对象有物理真实性(也就是对象占用内存空间)
10、C#的类
类具有封装性、继承性和多态性三个特征
类的封装性是指类对外提供接口和返回数值,外部引用并不知道类内部的计算过程,类好象被封装起来一样;
类的继承性是指类继承自其父类的所有成员和方法;
类的多态性是指类的构造函数(用于实例的初始化)可以有多种不同参数的形式,实例化时根据不同的参数呈现不同的状态。
类的结构
[public] class 类名[:父类]
{
<声明> 数据成员
<声明> 函数成员
<声明> 方法成员
… …
}
声明:Public 类外可用
Private 类内使用
Protected 可以被子类使用
重载(方法重写):父类方法前加上 Overridable (可被重写的),子类重写时,方法前加上Overrides
构造函数(类的引用时初始化)New 用于给类成员赋初值
11、引用系统的类库(命名空间/动态连接库)
在程序代码中 using 类库名
如 using system.Web;
using system.Data;
using System.data.Oledb;
12、异常处理
Try
{[语句块]}
Cacth
{[出错时处理语句]}
[Finally]
{[不管是否出错均执行的语句]}
第三章 ASP.NET的服务器控件
掌握要点:扩展Html控件、Web控件、文本框、复选框、单选框、列表框、下拉框、命令按钮、图片控件、文件上传控件、验证控件等的属性和方法
1、什么是Web表单
一个ASP.NET中只能有一个<form runat=Server> </form> 服务器表单。
扩展的Html控件中加入 Runat=Server才能被程序代码所控制,而加入Runat=Server后,Html控件指定id=“”,用法与Web控件使用无异。
2、Html服务器控件
(1) Anchor控件,超链接
<a runat=”server” href=”” target=”_blank” title=”新浪” > </a>
(2) inputButton控件
<input runat=server type=”Button” id=”btn1” value=” 确定” />
(3) inputText控件
<input runat=server type=”text” id=”text1” value=”” />
(4) InputFile控件,文件上传控件,与Web的控件作用相同
<input runat=server type=”File” id=”” />
方法 (服务器端物理位置)
(5) Button 控件
<button runat=server id=”show” />
(6) table控件
<table id=”tbl1” border=0 style=”width:90%;height:600px” runat=”server”>
<tr height=行高 style=”设置行颜色”>
<td width=”200px”> 单元格内容 </td>
…
<td …> …</td>
</tr>
<tr>…</tr>
</table>
3、控件
共同属性,大部分控件都有以下一些共同属性
(1) AccessKey: 快捷键 Alt+’键’,快速将焦点移到该控件
(2) BackColor和ForceColor:背景色和前景色 颜色值可以是英文颜色名或#RRGGBB(RR,GG,BB取00~FF十六进制值)
(3) Border:边框 BorderWidth(宽度),BorderColor(颜色),BorderStyle(风格)
BorderStyle取值
Notset:默认值
None:没有边框
Dotted:虚线,点较小
Dashed:虚线,点较大
Solid:实线
Double:双实线
Grove:3D凹陷
Ridge:凸起式
Inset:内陷式
Outset:外凸起式
(4) Enabled:可不可用,=true或false,false时控件呈亮灰色,不可用
(5) Visible:可不可见,=false,不可见,运行时该控件不显示
(6) Font:字体属性 Font-Size(字体大小)
(7) Tooltip:当鼠标移到控件上时显示的提示信息
(8) Text:控件显示的文本信息
(9) Width和Height:控件的宽、高度
4、ASP.NET的基本控件
(1) 用于显示文本的控件
Textbox
<asp:textbox id=”textbox1” text=”” runat=server …> </asp:textbox>
主要属性和事件方法:
属性:id 控件id标识
AutoPostBack 是否自动传回服务器 (=False/True)
Maxlength 最多输入字符数
TextMode 显示方式(=SingleLine/Password/MultiLine)
Wrap 是否自动断行
事件:OnTextChanged 当文本改变时(AutoPostedback=true时有效)
Label
<asp:Label runat=server id=”label1” …> </asp:label>
属性:id
Text 标签显示文本
(2) 用于控制传送的内部控件
Button 常用按钮
<asp:Button runat=Server id=”button1” text=”确定” … />
属性:id
Text
事件:onlick()
protected void Button3_Click(object sender, EventArgs e)
{
string[] name ={ "小李", "张森", "林一", "江虎" };
int i = 0;
star: //标签
i++;
foreach (string st in name)
Response.Write(st + "<br>");
if (i > 3) return;
goto star; //转向指定标签位置
}
LinkButton 超链接按钮
<asp:Linkbuttonid=”linbutton1” PostBackUrl= runat=server>新浪新闻</asp:linkbutton>
属性:PostBackUrl 相当Anchor的href
事件:onclick引发超链接
ImageButton 图片按钮
<asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Btn002.bmp" Style="position: relative" />
属性:ImageUrl= 图片的路径
事件:onclick
HyperLink
<asp:HyperLink ID="HyperLink1" runat="server" Style="position: relative" ImageUrl="~/BTN_013.BMP" NavigateUrl="">同学录</asp:HyperLink>
(3) 用于选择的内部控件
复选
CheckBox和CheckBoxList控件
<asp:CheckBox ID="CheckBox1" runat="server" AutoPostBack="True" Style="position: relative"
Text="是否纯文本" /><br />
属性:checked=true/false
Text
AutoPostBack=true/false
<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatDirection="Horizontal"
Style="position: relative">
<asp:ListItem Selected =True value="stu">学生</asp:ListItem>
<asp:ListItem>教师</asp:ListItem>
<asp:ListItem>教工</asp:ListItem>
</asp:CheckBoxList>
属性:
设计时,修改items
RepeatDirection=”Horizontal/verticl” 水平和垂直方向
Autopostback
读取
Label1.Text = CheckBoxList1.SelectedValue
TextBox1.Text = CheckBoxList1.SelectedItem.Text
单选控件
Radiobutton和Radiobuttonlist
方法与属性与checkbox/checkboxlist差不多
列表框 Listbox和下拉框 DropDownlist
Listbox
属性:Items 项目设计 item属性text、value、selected
Rows=3 显示行数
SelectionMode=single/multiple 多选/多选模式
Dropdownlist
属性:Items 项目设计 item属性text、value、selected
AutoPostback
Label1.Text = "listbox1.value:" + ListBox1.SelectedValue + "dropdownlist1.value:" + DropDownList1.SelectedValue
(4) 增强控件
BulletedList:项目列表并产生链接事件
主要属性:DisplayMode显示模式(取Text/LinkButton/HyperLink),取Text模式只显示。Items由用户设定,Items有Text和Value两个不同值,LinkButton模式时,由click 激发相应事件,e.index取得实击中项的索引号
protected void BulletedList1_Click(object sender, BulletedListEventArgs e)
{
TextBox1.Text = BulletedList1.Items[e.Index].Text;
}
ImageMap:地图热点控件,在地图上设置多个热点区域,根据用户的操作执行不同的事件
主要属性:ImageUrl地图相片,如~/image/stmap.jpg
Hotspots 热点,设置圆心(x,y)和半径R的值
HotspotMode 热点模式(Notset,PostBack,Navigate),取PostBack模式,当热点被击中时,返回e.PostbackValue来判断被击中的区域。
Calendar:日历控件,获取选中日期的方法
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
TextBox2.Text = Calendar1.SelectedDate.ToShortDateString();
}
第四章 验证控件
1、验证控件用于验证输入信息的合法性;
2、验证控件绑定输入控件(如TextBox)
3、验证控件(validator)有:非空(必填)RequiredFieldValidator、比较
CompareValidator、范围RangeValidator、正则(规则RegularExpressionValidator
验证控件
(1)必须字段验证控件(requiredfieldvalidator)
<asp:requiredfieldValidator id=”reqfldVali” ControlToValidate=”textbox1” runat=Server … />
属性:ControlToValidate= 指定验证控件
Message 出错时显示信息
(2)比较验证控件(CompareValidator)
<asp:CompareValidator id=”ComVali” controlToValidate=”textbox1” ControltoCompare=”textbox2” … />
属性:ControlToValidate= 指定验证控件
ControlTocompare 比较控件
Message 出错时显示信息
(3)范围验证控件 (RangeValidator)
<asp:RangeValidator id=”RgVali” Type=Integer ControlTovalidator=”textbox1” MinimumValue=20 Maximum=100)
属性:ControlToValidate= 指定验证控件
Type=String/Integer/Double/Datetime/Currency 数据类型
MinimumValue 最小值
MaximumValue 最大值
Message 出错时显示信息
(4)正则表达式验证控件(RegularExpressionValidator)
<asp:RegularExpressionValidator ID="RglExpValidator1" runat="server" ControlToValidate="TextBox2"
ErrorMessage="输入数据不符合规则" Style="position: relative" ValidationExpression="Jyc\d{8}[A-Z]"></asp:RegularExpressionValidator>
属性:ControlToValidate= 指定验证控件
ValidationExpression= 正则规则
Message 出错时显示信息
正则规则就是定义文本的必须符合的格式。
Jyc是textbox2的前三个固定字母,\d{8}表示8位0..9的数字,[A-Z]表示A..Z一个大写英文字母
(5)自定义验证控件 (CustomValidator)
第五章 ASP.NET内部对象
掌握要点:Page对象、Resquest对象、Response对象、Cookie对象、Session对象、Application对象、Server对象的使用方法。Request对象处理用户的请求,Response对象处理用户的响应,Cookie对象在客户端保存用户的登录信息,Session对象在网页间传递客户端的变量,Application对象传递各客户端的公共变量,Server对象处理与服务有关的事件。
特别提示:掌握页面间传递值的几种方式
1、Page对象
属性:IsPostBack 表示页面表单是否提交过,是为true,未为false
Isvalid 表示页面的验证是否都通过
事件:Load 页面载入,IsPostBack=False表示页面首次被载入
2、Request对象
Request用来获取客户端的信息,语法为
Request.[数据集合|属性|.方法](变量或字符串)
数据集合有 QueryString(、Form、Cookie、ServerVariables、ClientCertificate、Browser。
a) Request.Querystring
从查询字符串中读取客户端用户提交的数据。
从上网页转到http://... …/temp.aspx?name=白芸&age=22时,可以用request.querystring(“name”)和request.querystring(“age”)获取name和age有值。
网页通过超链接或Response.Redirect的方法转至目标网页。“?”可带多个变量,以“&”分隔。
b) Request.Form(“字符串”)
采用Server.transfer(“*.aspx”)或response.redirect(“*.aspx”)转入另一页面时,在新页面Request.Form(“字符串”), 读取表单各控件的值
c) Request.ServerVariables(“字串”)数据集合(关于客户端和服务器端)
Local_addr 取得服务器端的IP
Logon_user 客户端的登录名
Remote_Addr 客户端的IP
Remote_Host 客户端的主机名
Server_name 当前ASP.NET文件的虚拟路径
URL URL的相对地址
d) Request.Browser(“字串”)数据集合(关于浏览器)P124
Browser 浏览器类型名称
Version 版本名称
… …
3、Response 对象
方法:Write、Redirect、BinaryWrite、Clear、End、Flush
(1) 利用Write方法输出信息
重点:str=”<Table><tr> <td></td></tr>…</Table>” Response.Write(str) 动态输出表格
一般地, str=”<标记>…</标记>” Response.Write(str) 动态输出标记内容
(2) 使用Redirect方法引导客户端至另一个URL位置
注意跟超链接的差别,<a href= … > </a>
Response.Redirect(“”)
Response.Redirect(“other.aspx”)
(3) 使用End的方法终止程序
Response.End();
(4) BinaryWrite方法
4、HttpCookie对象
Cookie俗称小甜饼,可以在客户端长期保存信息,但必须定义有效期。
写入:Response.Cookie[“CookieName”].value=表达式
Response.Cookie[“CookieName”].Expires=#1/1/2010#
读取:Request.Cookie[“CookieName”].value
注意:读取时,请判断 If Request.Cookie[“CookieName”] Isnothing 是否存在该Cookie,以防出错
5、Session对象
Session[“Session名”]用来记录客户的信息,在客户使用的各个页面传递值。
语法:Session[“Session名”]=表达式
Session的Timeout属性:缺省为20分钟,如果20分钟内用户没有操作,则Session对象结束,Session.Timeout=90 ‘设为90分钟有效期
Abandon方法:强行清除Session对象 Session.Abandon
6、Application 对象
Application[“Applicat
展开阅读全文