数据绑定工作原理
从数据源中将数据绑定到控件
datasource属性
databind方法
通过datasource将数据从数据库中取出序列化后存储到内存(databind),
再由数据绑定控件从数据源中将数据格式化后显示给用户(render).
datasourceMode==DataSet模式支持的功能更多(分页等)
<%#%>---server数据绑定
<%%>---server操作
"~"指定上一级路径
DataView比datagrid更加方便易用.是datagrid的升级版.
用dataview对数据库进行增删改查需要提供主键列
控件的DataSource属性本质上是封装了DataAdapter和DataSet。不光如此,它还提供了更好的优化特性。
datagird比gridview更容易绑定.
高级数据绑定
<%#DataBinder.Eval(Container.DataItem,"列名")%> ---旧的数据绑定方式
<%#Eval("列名")%> ---新的数据绑定方式
xml绑定
<%#XPath("列名")%>
DataSet--数据库的某部分存在内存中,内存中的数据库.具有数据库的所有信息(包括数据库结构)使用xml存储.
sqlDataSource---支持所有sql的操作
objectDataSource---将对象存成ObjectDataSource进行传递.
xmlDataSource---xml对象灵敏据源,只支持查询绑定
DataReader---只取数据,性成比DataSet好.
sqlDataSource
Absolute ---直接缓存
Sliding
---用户不访问是缓存
DataSet能真正支持二进制序列化.
ds.RemotingFormat =SerializationFormat.Binary;//二进制序列化,比较快
数据库缓存(边接池):aspnet_regsql -S localhost -e -d NOrthwind -ed
-S:server
-E:可性任连接
-D: 数据库
-ed: 启用数据库
-t: 表
-et
web.config
<System.web>
<caching>
<sqlCacheDependency enabled="true" pollTime="5000">
<databases>
<add name="数据库" connectionStringName="数据库">
</databases>
</sqlCacheDependency>
</caching>
<System.web>
Cache.insert()
分页只是把DataSet分页
如果是sliding策略的话,那么最后一个只要有用户访问记时就会被打断,直到没有打断的记时达到指定时间之后进行缓存,反之,如果是absoult则无论是否有人访问,只要达到了指定时间。缓存就会被更新。