ASP.NET
2019-01-05 22:44:32 13 举报
AI智能生成
ASP.NET复习思路
作者其他创作
大纲/内容
Page类
page事件的发生顺序
PreInit
Init
InitComplete
PreLoad
Load
其他事件
LoadComplete
PreRender
核心对象
Response对象
Redirect重定向
Write将信息写入http响应输出流
WriteFile将指定文件写入http响应流
Request对象
当访问Page的Request属性,Request对象返回一个HttpRequest对象
Form属性,用于访问请求中的表单信息,可以通过[key]的方式获取表单中的值
QueryString属性,用于获取请求的url中的请求字段的值,也是[key]方式访问
ApplicationPath:说明被请求的页面位于Web应用程序的哪一个文件夹中
Paht,同上,包括完整的路径和文件名称
PhysocalApplicationPath:返回磁盘上的完整路径
Cookies查看访问者以前在访问本站点时使用cookies
Server对象
Server对象提供了对服务器信息的封装,实际上操控的是System.Web命名空间的HttpServerUtility类
MachineName:服务器的计算机名称
ScriptTimeout:获取和设置请求超时(妙计)
GetLastError方法:获取前一个异常的错误信息
ClearError:清楚前一个异常
Transfer:终止当前页,并未当前请求开始执行新页
Session对象
对应System.Web命名空间的HttpSessionState类,为每个用户的回话存储信息,为每个用户分配一个SessionId,每个用户的Sssion是唯一的,且有时限
Session_OnStart事件:创建一个Session时触发
Session_OnEnd事件:Session结束时调用
如果同一个用户两次访问的Session不同,那么两次访问的数据不共享
Session可以通过Session[key]=value的方式存储键值对
Cookie对象
Cookie实际是System.Web中的HttpCookie类的对象,用于保存用户的相关信息
有Request的Cookies集合和Response的Cookies集合
访问Cookie的方法:
HttpCookie MyCookie = new HttpCookie("LastVisit");
DateTime now = DateTime.Now;
MyCookie.Value = now.ToString();
MyCookie.Expires = now.AddHours(1);
Response.Cookies.Add(MyCookie);
HttpCookie MyCookie = new HttpCookie("LastVisit");
DateTime now = DateTime.Now;
MyCookie.Value = now.ToString();
MyCookie.Expires = now.AddHours(1);
Response.Cookies.Add(MyCookie);
Application对象
HttpApplicationState类的对象,该对象保存的信息可以被网站的所有页面访问
有Application_OnStart和Application_OnEnd事件,在Global.asax文件中设置
当不同用户访问Application对象的变量,Lock方法用于锁定HttpApplicationState变量的访问避免同步问题,Unlock方法取消对HttpApplicationState变量的锁定
服务器控件
共有属性
BackColor设置当前对象的背景色,ForeColor设置对象的前景色
Boder属性设置边框宽度
Font属性设置字体特征
Enabled设置禁止控件还是使能控件
ToolTip属性设置控件的提示信息,鼠标停留一段时间后出现提示
Visible属性决定控件是否被显示
AccessKey属性设置快捷键
TabIndex设置Tab的顺序
Height和Width用于设置控件的高度和宽度,单位是px(像素)
控件
Label控件
显示文本
HyperLink
设置超链接
Image控件
设置图片
TextBox
输入框
Button控件
submit
把web页面提交到服务器处理
command
处理事件,有指定响应的command名
CheckBox和CheckList
允许用户选择则true和false状态,
服务端可以通过
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
Label2.Text = Label2.Text + “ ” + item.Value.ToString();
}
foreach (ListItem item in CheckBoxList1.Items)
{
if (item.Selected)
Label2.Text = Label2.Text + “ ” + item.Value.ToString();
}
ListBox
显示框,如果有多行,会有垂直滚动条
DropDownList
下拉框
Calendar
用来显示单月月历,用户可以选择上个月和下个月
BulletedList
采用符号格式的列表
数据验证
服务端数据验证
客户端数据验证
验证控件(通过ControlValidate指定被验证的控件)
RequiredFieldValidator:验证某个控件的内容是否被改变
CompareValidator:比较两个值
RangeValidator:验证某个值是否在某个范围
RegularExpressionValidator:验证相关输入控件的值是否匹配正则表达式
CustomValidator:用户自定义控件
ValidationSummary:显示所有验证错误的摘要
用户控件
扩展名为.ascx,被.aspx所包含,不能作为独立文件运行,必须被包含
ADO.NET数据库
Connection对象
string ConnStr = "server=localhost; Integrated Security=True; database=pubs; ";
SqlConnection sqlConn= new SqlConnection(ConnStr);
sqlConn.Open();
SqlConnection sqlConn= new SqlConnection(ConnStr);
sqlConn.Open();
DataAdapter:数据适配器
表示一组数据命令和一个数据库连接,不同数据库数据源使用不同的类
Microsoft SQL Server数据库:通过将SqlDataAdapter与其关联的SqlCommand和 SqlConnection对象一起使用,从而提高总体性能 。
对于支持OLE DB的数据源:使用DataAdapter及其关联的OleDbCommand和OleDbConnection对象。
对于支持ODBC的数据源:使用DataAdapter及其关联的OdbcCommand和OdbcConnection对象。
对于Oracle数据库:使用DataAdapter及其关联的OracleCommand和OracleConnection 对象。
对于支持OLE DB的数据源:使用DataAdapter及其关联的OleDbCommand和OleDbConnection对象。
对于支持ODBC的数据源:使用DataAdapter及其关联的OdbcCommand和OdbcConnection对象。
对于Oracle数据库:使用DataAdapter及其关联的OracleCommand和OracleConnection 对象。
增删该查方法:SelectCommand,InsertCommmand,UpdateCommand,DeleteCommand
Command对象
使用select,insert,deelte,update等sql命令与数据库通信
DataReader对象
从数据库中检索只读,只进的数据流
OLE DB .NET Framework数据提供程序包括一个OleDbDataReader对象,
SQL Server .NET Framework数据提供程序包括一个SqlDataReader对象,
ODBC .NET Framework数据提供程序包括一个OdbcDataReader对象,
Oracle .NET Framework数据提供程序包括一个OracleDataReader对象。
SQL Server .NET Framework数据提供程序包括一个SqlDataReader对象,
ODBC .NET Framework数据提供程序包括一个OdbcDataReader对象,
Oracle .NET Framework数据提供程序包括一个OracleDataReader对象。
DataSet
由一组DataTable对象组成,它具备存储多个表数据以及表间关系的能力
表存储在DataTable中,表关系存储在DataRelation中
表存储在DataTable中,表关系存储在DataRelation中
结构
操作数据库过程
(1)建立数据库连接。
(2)建立SqlCommand对象,设置要执行的SQL语句。
(3)建立并实例化一个SqlDataAdapter对象。为SqlDataAdapter的InsertCommand属性创建一个执行Insert语句的SqlCommand,并赋值给InsertCommand属性。
(4)建立一个DataSet对象,用于接收执行SQL命令返回的数据集。
(5)填充数据集。
(6)通过DataSet对象获取要操作数据表的DataTable对象。
(7)通过DataTable对象的NewRow方法返回一个新的数据行,并对新行进行赋值。
(8)通过DataTable对象Rows集合的Add方法把新建的DataRow对象添加到Rows集合中。
(9)调用SqlDataAdapter对象的Update方法把修改提交的数据库中。
(1)建立数据库连接。
(2)建立SqlCommand对象,设置要执行的SQL语句。
(3)建立并实例化一个SqlDataAdapter对象。为SqlDataAdapter的InsertCommand属性创建一个执行Insert语句的SqlCommand,并赋值给InsertCommand属性。
(4)建立一个DataSet对象,用于接收执行SQL命令返回的数据集。
(5)填充数据集。
(6)通过DataSet对象获取要操作数据表的DataTable对象。
(7)通过DataTable对象的NewRow方法返回一个新的数据行,并对新行进行赋值。
(8)通过DataTable对象Rows集合的Add方法把新建的DataRow对象添加到Rows集合中。
(9)调用SqlDataAdapter对象的Update方法把修改提交的数据库中。
数据源控件
数据源控件用于连接数据源,从数据源中读取数据以及把数据写入数据源,不呈现任何用户界面,只是充当一个桥梁
sqlDataSource控件
在运行时,SqlDataSource控件会自动打开数据库连接,执行SQL语句或存储过程,返回选定数据(如果有),然后关闭连接。
数据绑定
简单数据绑定
将一个控件绑定到单个数据元素(通常是数据集表的列中的值
复杂数据绑定
将一个控件绑定到多个数据元素(通常是数据库中的多个记录)
GridView控件
ListView控件
站点导航
web.sitemap
<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="" description="">
<siteMapNode url="" title="" description="" />
<siteMapNode url="" title="" description="" />
</siteMapNode>
</siteMap>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="" title="" description="">
<siteMapNode url="" title="" description="" />
<siteMapNode url="" title="" description="" />
</siteMapNode>
</siteMap>
siteMapDataSource数据源控件
TreeView服务器控件
必须配合SitemapDataSource控件使用
<asp:TreeView ID="TreeView1" runat="Server" DataSourceID="SiteMapDataSource1">
</asp:TreeView>
</asp:TreeView>
Menu服务器控件
配合SiteMapDataSource使用
<asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1" Orientation="Horizontal" StaticDisplayLevels="2">
</asp:Menu>
</asp:Menu>
母版页
具有扩展名.master的asp.net文件,可以具有静态文本,html元素和服务器控件的预定义布局,母版页由特殊的@Master指令识别
在运行时,母版页是按照下面的步骤处理的:
(1) 用户通过键入内容页的URL来请求某页。
(2) 获取该页后,读取@Page指令。如果该指令引用一个母版页,则也读取该母版页。如果这是第一次请求这两个页,则两个页都要进行编译。
(3) 包含更新的内容的母版页合并到内容页的控件树中。
(4) 各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。
(5) 浏览器中呈现得到的合并页。
(1) 用户通过键入内容页的URL来请求某页。
(2) 获取该页后,读取@Page指令。如果该指令引用一个母版页,则也读取该母版页。如果这是第一次请求这两个页,则两个页都要进行编译。
(3) 包含更新的内容的母版页合并到内容页的控件树中。
(4) 各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。
(5) 浏览器中呈现得到的合并页。
使用母版页
<%@ MasterType virtualpath= "~/MasterPage.master"%>
…
public partial class MasterPage : System.Web.UI.MasterPage
{…}
…
<%@ MasterType virtualpath= "~/MasterPage.master"%>
…
public partial class MasterPage : System.Web.UI.MasterPage
{…}
…
0 条评论
下一页