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.数据源控件

ASP.NET 2.0 绑定高级技巧[转载]控件名                                     控件描述
ASP.NET 2.0 绑定高级技巧[转载]SqlDataSource                       一切支持SQL语句的数据源控件
ASP.NET 2.0 绑定高级技巧[转载]AccessDataSource               Access数据源控件
ASP.NET 2.0 绑定高级技巧[转载]XmlDataSource                     XML数据源控件
ASP.NET 2.0 绑定高级技巧[转载]ObjectDataSource                自行编写组件的数据源控件
ASP.NET 2.0 绑定高级技巧[转载]SiteMapDataSource             页面导航控件的数据源控件

 2.1 SqlDataSource关键属性

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

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

ASP.NET 2.0 绑定高级技巧[转载]属性名                                         描述
ASP.NET 2.0 绑定高级技巧[转载]EnableCaching                           指定是否打开缓存(默认值
= false)
ASP.NET 2.0 绑定高级技巧[转载]CacheDuration                           指定结果被缓存多少秒
ASP.NET 2.0 绑定高级技巧[转载]CacheExpirationPolicy              指定缓存间隔是sliding 还是absolute
ASP.NET 2.0 绑定高级技巧[转载]CacheKeyDependency             使缓存依赖于一个特定键值
ASP.NET 2.0 绑定高级技巧[转载]SqlCacheDependency               使缓存依赖于一个特定数据库实体

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

ASP.NET 2.0 绑定高级技巧[转载]名称                                      描述
ASP.NET 2.0 绑定高级技巧[转载]SelectParameters                为查询命令指定参数
ASP.NET 2.0 绑定高级技巧[转载]InsertParameters                为插入命令指定参数
ASP.NET 2.0 绑定高级技巧[转载]UpdateParameters              为更新命令指定参数
ASP.NET 2.0 绑定高级技巧[转载]DeleteParameters               为删除命令指定参数
ASP.NET 2.0 绑定高级技巧[转载]FilterParameters                 为过滤器命令指定参数

2.4 XxxParameter 类型

ASP.NET 2.0 绑定高级技巧[转载]名称                                               描述
ASP.NET 2.0 绑定高级技巧[转载]ControlParameter                         指定一个源自于控件的参数
ASP.NET 2.0 绑定高级技巧[转载]CookieParameter                          指定一个源自于cookie的参数
ASP.NET 2.0 绑定高级技巧[转载]FormParameter                             指定一个源自于表单的参数
ASP.NET 2.0 绑定高级技巧[转载]ProfileParameter                           指定一个源自于profile的参数
ASP.NET 2.0 绑定高级技巧[转载]QueryStringParameter                 制定于一个来源于查询字符串的参数
ASP.NET 2.0 绑定高级技巧[转载]Parameter                                      为数据源绑定一个参数
ASP.NET 2.0 绑定高级技巧[转载]SessionParameter                        指定一个源自于session的参数

2.5 使用ControlParameter例子

ASP.NET 2.0 绑定高级技巧[转载]<asp:SqlDataSourceID="Countries" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]ConnectionString
="server=localhost;database=northwind;"
ASP.NET 2.0 绑定高级技巧[转载]SelectCommand
="select distinct country from customers order by country" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:SqlDataSourceID="Customers" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]ConnectionString
="server=localhost;database=northwind;"
ASP.NET 2.0 绑定高级技巧[转载]SelectCommand
="select * from customers where country =@Country">
ASP.NET 2.0 绑定高级技巧[转载]
<SelectParameters>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:ControlParameterName="Country" ControlID="MyDropDownList"
ASP.NET 2.0 绑定高级技巧[转载]PropertyName
="SelectedValue" />
ASP.NET 2.0 绑定高级技巧[转载]
</SelectParameters>
ASP.NET 2.0 绑定高级技巧[转载]
</asp:SqlDataSource>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:DropDownListID=" MyDropDownList" DataSourceID="Countries"
ASP.NET 2.0 绑定高级技巧[转载]DataTextField
="country" AutoPostBack="true" RunAt="server" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:DataGridDataSourceID="Customers" RunAt="server" />

2.7 调研存储过程例子

ASP.NET 2.0 绑定高级技巧[转载]<asp:SqlDataSourceID="Countries" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]ConnectionString
="server=localhost;database=northwind;"
ASP.NET 2.0 绑定高级技巧[转载]SelectCommand
="proc_GetCountries" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:SqlDataSourceID="Customers" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]ConnectionString
="server=localhost;database=northwind;"
ASP.NET 2.0 绑定高级技巧[转载]SelectCommand
="proc_GetCustomers">
ASP.NET 2.0 绑定高级技巧[转载]
<SelectParameters>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:ControlParameterName="Country" ControlID="MyDropDownList"
ASP.NET 2.0 绑定高级技巧[转载]PropertyName
="SelectedValue" />
ASP.NET 2.0 绑定高级技巧[转载]
</SelectParameters>
ASP.NET 2.0 绑定高级技巧[转载]
</asp:SqlDataSource>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:DropDownListID="MyDropDownList" DataSourceID="Countries"
ASP.NET 2.0 绑定高级技巧[转载]DataTextField
="country" AutoPostBack="true" RunAt="server" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:DataGridDataSourceID="Customers" RunAt="server" />
ASP.NET 2.0 绑定高级技巧[转载]CREATE PROCEDURE proc_GetCustomers
ASP.NET 2.0 绑定高级技巧[转载]@Country nvarchar(32) AS
ASP.NET 2.0 绑定高级技巧[转载]SELECT * FROM Customers
ASP.NET 2.0 绑定高级技巧[转载]WHERE Country = @Country
ASP.NET 2.0 绑定高级技巧[转载]GO
ASP.NET 2.0 绑定高级技巧[转载]CREATE PROCEDURE proc_GetCustomers
ASP.NET 2.0 绑定高级技巧[转载]CREATE PROCEDURE proc_GetCountriesAS
ASP.NET 2.0 绑定高级技巧[转载]SELECT DISTINCT Country
ASP.NET 2.0 绑定高级技巧[转载]FROM Customers
ASP.NET 2.0 绑定高级技巧[转载]ORDER BY Country
ASP.NET 2.0 绑定高级技巧[转载]GO

3.XmlDataSource 使用XML 作为数据源
支持缓存与XSL 转换,只支持查询绑定,不支持更新

ASP.NET 2.0 绑定高级技巧[转载]<asp:XmlDataSourceID="Rates" DataFile="Rates.xml" RunAt="server" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:TreeViewID="MyTreeView" DataSourceID="Rates" RunAt="server" />

3.1 XmlDataSource的关键属性

ASP.NET 2.0 绑定高级技巧[转载]名称                                                    描述
ASP.NET 2.0 绑定高级技巧[转载]DataFile XML                                    数据文件的路径
ASP.NET 2.0 绑定高级技巧[转载]TransformFile                                    含有XSL 风格定义的数据文件路径
ASP.NET 2.0 绑定高级技巧[转载]EnableCaching                                  指定是否开启cache (默认值= false)
ASP.NET 2.0 绑定高级技巧[转载]XPath XPath                                      表达式用来确认数据
ASP.NET 2.0 绑定高级技巧[转载]CacheDuration                                  以秒为单位的时间间隔
ASP.NET 2.0 绑定高级技巧[转载]CacheExpirationPolicy                     指定时间间隔是sliding 还是absolute
ASP.NET 2.0 绑定高级技巧[转载]CacheKeyDependency                    创建缓存依存于某个键
ASP.NET 2.0 绑定高级技巧[转载]

4. ObjectDataSource
从数据组件绑定数据,提供中间件的数据绑定,使数据访问和UI脱离,两种数据绑定方式
SelectMethod, InsertMethod, UpdateMethod,and DeleteMethod
可选择是否使用缓存,可选择是否使用参数
4.1 ODS 关键属性

ASP.NET 2.0 绑定高级技巧[转载]ODS 关键属性
ASP.NET 2.0 绑定高级技巧[转载]名称                                                         描述
ASP.NET 2.0 绑定高级技巧[转载]InsertParameters                                    指定插入方法参数
ASP.NET 2.0 绑定高级技巧[转载]UpdateParameters                                 指定更新方法参数
ASP.NET 2.0 绑定高级技巧[转载]DeleteParameters                                   指定删除方法参数
ASP.NET 2.0 绑定高级技巧[转载]SelectParameters                                    指定查询方法参数
ASP.NET 2.0 绑定高级技巧[转载]CacheDuration                                       缓存间隔时间以秒为单位
ASP.NET 2.0 绑定高级技巧[转载]SqlCacheDependency                          基于某个数据实体的缓存
ASP.NET 2.0 绑定高级技巧[转载]创建和清除
ASP.NET 2.0 绑定高级技巧[转载]ObjectDataSource.SelectMethod 可以使用静态方法也可以使用一个类的新实例
ASP.NET 2.0 绑定高级技巧[转载]如果使用实例方法:ODS 在每次调用的时候创建一个新实例类必须具有公共的建构函数
ASP.NET 2.0 绑定高级技巧[转载]使用ObjectCreated 和ObjectDisposing 元素可以初始化和撤销函数

5.增强的DataGrid 控件
支持复杂的数据单元格类型,包括CheckBoxFields在<Columns> 元素中声明高可定制的用户界面
gridView 列类型:

ASP.NET 2.0 绑定高级技巧[转载]名称                                             描述
ASP.NET 2.0 绑定高级技巧[转载]BoundField                                 显示数据库中取出的文本
ASP.NET 2.0 绑定高级技巧[转载]ButtonField                                显示按钮
ASP.NET 2.0 绑定高级技巧[转载]CheckBoxField                           使用check boxes显示一个boolean型变量
ASP.NET 2.0 绑定高级技巧[转载]HyperLinkField                          显示一个超链接
ASP.NET 2.0 绑定高级技巧[转载]TemplateField                            显示一个自定义的HTML模板
ASP.NET 2.0 绑定高级技巧[转载]CommandField                          显示一个查询或者编辑按钮
ASP.NET 2.0 绑定高级技巧[转载]ImageField                                 显示一个图片
6. 冲突判定
ASP.NET 2.0 绑定高级技巧[转载]先入胜利
ASP.NET 2.0 绑定高级技巧[转载]如果数据在取出之后被改变,则修改失败
ASP.NET 2.0 绑定高级技巧[转载]UpdateCommand结构构成指定ConflictDetection
=“CompareAllValues”来实现
ASP.NET 2.0 绑定高级技巧[转载]后入胜利
ASP.NET 2.0 绑定高级技巧[转载]无论数据是否被修改,该修改都会成功
ASP.NET 2.0 绑定高级技巧[转载]UpdateCommand结构构成指定ConflictDetection
=“OverwriteChanges”来实现
6.1 先入胜利法则更新
ASP.NET 2.0 绑定高级技巧[转载]<asp:SqlDataSourceID="Employees" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]ConnectionString
="server=localhost;database=northwind;"
ASP.NET 2.0 绑定高级技巧[转载]SelectCommand
="select employeeid, lastname, firstnamefrom employees"
ASP.NET 2.0 绑定高级技巧[转载]UpdateCommand
="update employees set lastname=@lastname, firstname=
ASP.NET 2.0 绑定高级技巧[转载]@firstnamewhere employeeid=@original_employeeid and lastname=
ASP.NET 2.0 绑定高级技巧[转载]@original_lastnameand firstname=@original_firstname"

ASP.NET 2.0 绑定高级技巧[转载]ConflictDetection
="CompareAllValues">
ASP.NET 2.0 绑定高级技巧[转载]
<UpdateParameters>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:ParameterName="EmployeeID" Type="Int32" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:ParameterName="lastname" Type="String" />
ASP.NET 2.0 绑定高级技巧[转载]
<asp:ParameterName="firstname" Type="String" />
ASP.NET 2.0 绑定高级技巧[转载]
</UpdateParameters>
ASP.NET 2.0 绑定高级技巧[转载]
</asp:SqlDataSource>
ASP.NET 2.0 绑定高级技巧[转载]
<asp:GridViewDataSourceID="Employees" Width="100%" RunAt="server"
ASP.NET 2.0 绑定高级技巧[转载]DataKeyNames
="EmployeeID" AutoGenerateEditButton="true" />
7.错误检测
数据更新后控件调用的事件GridView.RowUpdated,DetailsView.ItemUpdated,SqlDataSource.Updated, etc.
处理“status”的事件,无论数据库是否异常允许数据库异常被处理或者再次抛弃,显示多少数据库行被修改
处理更新错误
ASP.NET 2.0 绑定高级技巧[转载]<asp:SqlDataSourceID="Employees" RunAt="server" 
ASP.NET 2.0 绑定高级技巧[转载]UpdateCommand
="" OnUpdated="OnUpdateComplete">
ASP.NET 2.0 绑定高级技巧[转载]
ASP.NET 2.0 绑定高级技巧[转载]
</asp:SqlDataSource>
ASP.NET 2.0 绑定高级技巧[转载]
ASP.NET 2.0 绑定高级技巧[转载]void OnUpdateComplete (Object source, SqlDataSourceStatusEventsArgse)
ASP.NET 2.0 绑定高级技巧[转载]{
ASP.NET 2.0 绑定高级技巧[转载]if (e.Exception!= null) {
ASP.NET 2.0 绑定高级技巧[转载]// Exception thrown. Set e.ExceptionHandledto true to prevent
ASP.NET 2.0 绑定高级技巧[转载]// the SqlDataSourcefrom throwing an exception, or leave it set
ASP.NET 2.0 绑定高级技巧[转载]// to false to allow SqlDataSourceto rethrowthe exception
ASP.NET 2.0 绑定高级技巧[转载]}
ASP.NET 2.0 绑定高级技巧[转载]else if (e.AffectedRows== 0) {
ASP.NET 2.0 绑定高级技巧[转载]// No exception was thrown, but no records were updated,either.
ASP.NET 2.0 绑定高级技巧[转载]// Might want to let the user know that the update failed
ASP.NET 2.0 绑定高级技巧[转载]}
ASP.NET 2.0 绑定高级技巧[转载]}

相关文章:

  • 2021-09-29
  • 2021-07-15
  • 2021-12-09
  • 2021-11-30
  • 2022-01-19
  • 2021-12-23
  • 2021-11-03
猜你喜欢
  • 2021-10-29
  • 2021-08-10
  • 2022-02-27
  • 2021-11-19
  • 2021-09-11
相关资源
相似解决方案