日期:2014-05-17  浏览次数:21184 次

ASP.NET 2.0 绑定高级技巧

1.简单数据绑定定

<!--ASP.NET 1.x data binding expression -->
<%# DataBinder.Eval(Container.DataItem, "Price") %>
<!--Equivalent ASP.NET 2.0 data binding expression -->
<%# Eval("Price") %>
<!--XML data binding -->
<%# XPath("Price") %>

?

2.数据源控件

控件名                                     控件描述
SqlDataSource                       一切支持SQL语句的数据源控件
AccessDataSource               Access数据源控件
XmlDataSource                     XML数据源控件
ObjectDataSource                自行编写组件的数据源控件
SiteMapDataSource             页面导航控件的数据源控件

?

2.1 SqlDataSource关键属性

名称                                               描述
ConnectionString                        连接数据库的连接字符串
SelectCommand                           用于执行查询的命令
InsertCommand                           用于执行插入的命令
UpdateCommand                        用于执行更新的命令
DeleteCommand                          用于执行删除的命令
DataSourceMode                        指定数据源类型是DataSet 或DataReader( 默认值= DataSet)
ProviderName                              指定供应商(默认值= SQL Server .NET provider)

?

2.2 SqlDataSource 支持通过以下属性进行数据缓存

属性名                                         描述
EnableCaching                           指定是否打开缓存(默认值= false)
CacheDuration                           指定结果被缓存多少妙
CacheExpirationPolicy              指定缓存间隔是sliding 还是absolute
CacheKeyDependency             使缓存依赖于一个特定键值
SqlCacheDependency               使缓存依赖于一个特定数据库实体

?

2.3 参数化命令? XxxParameter 类型指定参数来源

名称                                      描述
SelectParameters                为查询命令指定参数
InsertParameters                为插入命令指定参数
UpdateParameters              为更新命令指定参数
DeleteParameters               为删除命令指定参数
FilterParameters                 为过滤器命令指定参数

?

2.4 XxxParameter 类型

名称                                               描述
ControlParameter                         指定一个源自于控件的参数
CookieParameter                          指定一个源自于cookie的参数
FormParameter                             指定一个源自于表单的参数
ProfileParameter                           指定一个源自于profile的参数
QueryStringParameter                 制定于一个来源于查询字符串的参数
Parameter                                      为数据源绑定一个参数
SessionParameter                        指定一个源自于session的参数

?

2.5 使用ControlParameter例子

<asp:SqlDataSourceID="Countries" RunAt="server"
ConnectionString="server=localhost;database=northwind;"
SelectCommand="select distinct country from customers order by country" />
<asp:SqlDataSourceID="Customers" RunAt="server"
ConnectionString="server=localhost;database=northwind;"
SelectCommand="select * from customers where country =@Country">
<SelectParameters>
<asp:ControlParameterName="Country" ControlID="MyDropDownList"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownListID=" MyDropDownList" DataSourceID="Countries"
DataTextField="country" AutoPostBack="true" RunAt="server" />
<asp:DataGridDataSourceID="Customers" RunAt="server" />

?

2.7 调研存储过程例子

<asp:SqlDataSourceID="Countries" RunAt="server"
ConnectionString="server=localhost;database=northwind;"
SelectCommand="proc_GetCountries" />
<asp:SqlDataSourceID="Customers" RunAt="server"
ConnectionString="server=localhost;database=northwind;"
SelectCommand="proc_GetCustomers">
<SelectParameters>
<asp:ControlParameterName="Country" ControlID="MyDropDownList"
PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>
<asp:DropDownListID="MyDropDownList" DataSourceID="Countries"
DataTextField="country" AutoPostBack="true" RunAt="server" />
<asp:DataGridDataSourceID="Customers" RunAt="server" />
CREATE PROCEDURE proc_Get