1、ASP.NET页面对象
1网页脚本
当客户端通过客户浏览器发送HTTP请求时,web服务器将HTML文档部分和脚本部分返回给客户端浏览器,在客户端浏览器中解释执行并及时更新页面,脚本处理工作全部在客户端浏览器执行完成。
优点: 减轻服务器负荷,同时增加页面的反应速度。
缺点:浏览器差异性导致页面差异
支持的语言: JavaScriptJScript VBScript
(2)服务端脚本
当用户通过浏览器发送HTTP请求时,Web服务器运行脚本,并将运行结果与Web页面的HTML结合返回至客户端浏览器,脚本处理工作全部在服务器端完成。
优点:减少浏览器带来的运行结果差异,提高页面的稳定性。
缺点:增加了服务器的负荷,同时客户端反应速度慢。
支持的标准(规则):PHP、JSP、ASP、ASP.Net
2Page对象
在ASP中每个页面都派生自Page类,并继承这个类公开的所有方法和属性。Page 类与扩展名为 .aspx 的文件相关联,这些文件在运行时被编译为 Page 对象,并被缓存在服务器内存中。
Page类常用的属性:
IsPostBack,该属性可以检查.aspx页是否为传递回服务器的页面,常用于判断页面是否为首次加载。
IsValid,该属性用于判断页面中的所有输入的内容是否应经通过验证,它是一个布尔值的属性。当需要使用服务器端验证时,可以使用该属性。
IsCrossPagePostBack,该属性判断页面是否使用跨页提交,它是一个布尔值的属性。
3页面传值
一、Request.QueryString
核心代码:
protected voidgetQueryString_Click(objectsender, EventArgs e)
{
stringQueStr = Request.QueryString["name"];
Response.Write(QueStr);
}
总结:
1、Request.QueryString:获取http查询字符串变量集合。有两重载,即Request.QueryString[stringname]和Request.QueryString[int index];
2、Request.QueryString主要是获取url中的“?”之后的参数,如url:a.aspx?name="queryString",则Request.QueryString["name"]的值为“queryString”。
二、Request.Form
核心代码:
protected voidgetQueryString_Click(objectsender, EventArgs e)
{
stringstrQueForm = Request.Form["TextBox1"];
Response.Write(strQueForm);
}
总结:
1、Request.Form 获取窗体变量集合。有两重载,即Request.Form[stringname]和Requst.Form[int index]。
2、获取表单指定名字的参数值。
2、Request、Respone、Server对象
1Request对象
2Respone对象
3Server对象
3、数据绑定技术
1数据绑定概述
asp.net 引入了新的声明性数据绑定语法.这种非常灵活的语法允许开发人员不仅可以绑定到数据源,而且可以绑定到简单属性.集合.表达式甚至是从方法调用返回的结果.下表显示了新语法的一些示例.
数据绑定概述与语法
简单属性 customer: <%# custid %>
集合 orders:
表达式 contact: <%# ( customer.first name +" " + customer.lastname ) %>
方法结果 outstanding balance: <%#getbalance(custid) %>
尽管该语法看起来与 asp 的response.write 快捷方式 <%= %> 相似,但其行为完全不同.asp response.write 快捷方式语法在处理页时计算,而 asp.net 数据绑定语法仅在调用 databind 方法时计算.
databind 是页与所有服务器控件的方法.当在父控件上调用 databind 时,它级联到该控件的所有子控件.例如,datalist1.databind() 将因此对 datalist 模板中的每一控件调用 databind 方法.在页上调用 databind — page.databind() 或只是 databind() — 会导致计算页上的所有数据绑定表达式.通常从 page_load 事件调用 databind,
2数据源控件
数据源控件 |
说明 |
LinqDataSource |
使用此控件,可以通过标记在 ASP.NET 网页中使用语言集成查询 (LINQ),从数据对象中检索和修改数据。支持自动生成选择、更新、插入和删除命令。该控件还支持排序、筛选和分页。 |
EntityDataSource |
允许绑定到基于实体数据模型 (EDM) 的数据。支持自动生成更新、插入、删除和选择命令。该控件还支持排序、筛选和分页。 |
ObjectDataSource |
允许您使用业务对象或其他类,以及创建依赖中间层对象管理数据的 Web 应用程序。支持对其他数据源控件不可用的高级排序和分页方案。 |
SqlDataSource |
允许您使用 Microsoft SQL Server、OLE DB、ODBC 或 Oracle 数据库。与 SQL Server 一起使用时支持高级缓存功能。当数据作为 DataSet 对象返回时,此控件还支持排序、筛选和分页。 |
AccessDataSource |
允许您使用 Microsoft Access 数据库。当数据作为 DataSet 对象返回时,支持排序、筛选和分页。 |
XmlDataSource |
允许使用 XML 文件,特别适用于分层的 ASP.NET 服务器控件,如 TreeView 或 Menu 控件。支持使用 XPath 表达式来实现筛选功能,并允许您对数据应用 XSLT 转换。XmlDataSource 允许您通过保存更改后的整个 XML 文档来更新数据。 |
SiteMapDataSource |
结合 ASP.NET 站点导航使用。 |
SqlDataSource 控件
SqlDataSource 控件使用 SQL 命令来检索和修改数据。SqlDataSource 控件可用于 Microsoft SQLServer、OLE DB、ODBC 和 Oracle 数据库。
SqlDataSource 控件可将结果作为 DataReader 或 DataSet 对象返回。当结果作为 DataSet 返回时,该控件支持排序、筛选和缓存。使用 Microsoft SQLServer 时,该控件还有一个优点,那就是当数据库发生更改时,SqlCacheDependency对象可使缓存结果无效。
3数据绑定控件
GridView控件
主要特点:支持删、改,排序、分页、外观设置、自定义显示数据
缺 点:影响程序性能、不支持插入操作
GridView控件也提供了用于编辑格式的模板功能,但是不支持数据的插入。
ListView控件
主要特点:提供了增、删、改、排序、分页等功能,还可以支持用户自定义模板
缺 点:影响程序性能、大数据分页效率低
ListView控件会按照编程者编写的模板格式显示数据。与DataList和Repeater控件相似,ListView控件也适用于任何具有重复结构的数据。
Repeater控件
主要优点:该控件是一个完全的开发性控件,可以自如的显示用户自定义的显示方式
缺 点:不支持分页、排序、编辑,仅提供重复模板内容
Repeater 控件是一个数据绑定容器控件,用于生成各个子项的列表,这些子项的显示方式可以完全由编程者自己编写。
DataList控件
主要优点:可以自定义格式显示数据、比较灵活
缺 点:不支持分页、编辑插入
该控件可以以自定义的格式显示各种数据源的字段,其显示数据的格式在创建的模板中定义,可以为项、交替项、选定项和编辑项创建模板。DataList控件也可以使用标题、脚注和分隔符模板自定义整体外观,还可以一行显示多个数据行。虽然DataList控件拥有很大的灵活性,但其本身不支持数据分页,编程者需要通过自己编写方法完成分页的功能。仅用于数据的显示,不支持编辑、插入、删除。
DetailsView控件
主要优点:以表格形式显示单条数据、支持排序、插入、删除、修改、分页
缺 点:不支持排序
DetailsView控件以表格形式(table标签)一次仅显示数据源的单条记录,并且table标签下的每行(tr标签)表示记录中的一个字段。这个控件同样支持数据的编辑、插入和删除操作,并可以轻松地设置分页功能,但是DetailsView控件本身不支持数据排序。
FormView控件
主要优点:显示单条数据、分页、增、删、改,可自定义模板显示
缺 点:不支持排序
从功能上看FormView控件与DetailsView控件很相似,,FormView控件仅可显示数据源中的单条记录。和DetailsView控件不同,DetailsView控件采用表格布局(table标签),记录的每个字段都各自显示为一行。而FormView控件没有用于显示记录的预置布局,编程者需要自己创建子项模板,编写各种用于显示记录中的字段的控件以及布局用的其他HTML标签。和DetailsView控件一样,FormView控件可以轻松地启用分页功能。如果仅仅显示单条记录,FormView控件是比较推荐的方法,因为可以在高效开发的同时自定义数据显示的格式。
DropDownList控件
主要优点:多用于多级联动
缺 点:尽可显示一个字段
DropDownList控件一般多用于多级联动,比如省市的联动等,这里主要讲一下关键点,就是要为DropDownList设置要显示的字段和值显示字段即:
绑定后结果如下:
到这里已经把Asp.net常用的数据绑定控件的各自的优劣讲析了一下,我们只有深刻的理解各个控件的特点,才可以更好的在合适的情况下,采用合适的控件,更好的促进程序开发。当然,可能在实际的开发过程中,我们都不会用到这些控件,经过微软的封装之后产生太多的额外信息,增加了服务器的压力。但是,还是把这些东西总结了出来,希望可以对大家有所帮助。也希望大家多多指点!
4Gridview
主要特点:支持删、改,排序、分页、外观设置、自定义显示数据
缺点:影响程序性能、不支持插入操作
这个控件可以以表格形式(table标签)显示、编辑和删除多种不同的数据源(例如数据库、XML文件以及集合等)中的数据。GridView控件功能非常强大,如果需要,编程者可以不用编写任何代码,通过VS 2008拖拽,并从属性面板设置属性即可,还可以完成如分页、排序、外观设置等功能。虽然功能非常齐全,但程序性能将受到影响,在页面中最好不要过多地使用该控件。当然,如果需要自定义格式显示各种数据,GridView控件也提供了用于编辑格式的模板功能,但是不支持数据的插入。
图示:
5 DetailsView控件
主要优点:以表格形式显示单条数据、支持排序、插入、删除、修改、分页
缺 点:不支持排序
DetailsView控件以表格形式(table标签)一次仅显示数据源的单条记录,并且table标签下的每行(tr标签)表示记录中的一个字段。这个控件同样支持数据的编辑、插入和删除操作,并可以轻松地设置分页功能,但是DetailsView控件本身不支持数据排序。
6SQLDataSource用法
可以在后台代码充当数据源
SqlDataSourcesds = new SqlDataSource(“连接字符串”,“查询语句”);
DataView dv =(DataView)sds.Select(new DataSourceSelectArguments());
GRIDVIEW1.DATASOURCE=DV;
GRIDVIEW1.DATABIND();