关于ASP.NET2.0如何绑定高级技巧
点击次数:17 次 发布日期:2008-11-27 01:59:35 作者:源代码网
|
源代码网推荐 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.6 调研存储过程例子 源代码网推荐 源代码网推荐 <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_GetCustomers 源代码网推荐 @Country nvarchar(32) AS 源代码网推荐 SELECT * FROM Customers 源代码网推荐 WHERE Country = @Country 源代码网推荐 GO 源代码网推荐 CREATE PROCEDURE proc_GetCustomers 源代码网推荐 CREATE PROCEDURE proc_GetCountriesAS 源代码网推荐 SELECT DISTINCT Country 源代码网推荐 FROM Customers 源代码网推荐 ORDER BY Country 源代码网推荐 GO3.XmlDataSource 使用XML 作为数据源 源代码网推荐 源代码网推荐 支持缓存与XSL 转换,只支持查询绑定,不支持更新 源代码网推荐 源代码网推荐 <asp:XmlDataSourceID="Rates" DataFile="Rates.xml" RunAt="server" /> 源代码网推荐 <asp:TreeViewID="MyTreeView" DataSourceID="Rates" RunAt="server" /> 源代码网推荐 源代码网推荐 3 XmlDataSource的关键属性 源代码网推荐 源代码网推荐 名称 描述 源代码网推荐 DataFile XML 数据文件的路径 源代码网推荐 TransformFile 含有XSL 风格定义的数据文件路径 源代码网推荐 EnableCaching 指定是否开启cache (默认值= false) 源代码网推荐 XPath XPath 表达式用来确认数据 源代码网推荐 CacheDuration 以秒为单位的时间间隔 源代码网推荐 CacheExpirationPolicy 指定时间间隔是sliding 还是absolute 源代码网推荐 CacheKeyDependency 创建缓存依存于某个键 源代码网推荐 源代码网推荐 4. ObjectDataSource 源代码网推荐 源代码网推荐 从数据组件绑定数据,提供中间件的数据绑定,使数据访问和UI脱离,两种数据绑定方式 源代码网推荐 源代码网推荐 SelectMethod, InsertMethod, UpdateMethod,and DeleteMethod 源代码网推荐 源代码网推荐 可选择是否使用缓存,可选择是否使用参数 源代码网推荐 源代码网推荐 4.1 ODS 关键属性 源代码网推荐 源代码网推荐 ODS 关键属性 源代码网推荐 源代码网推荐 名称 描述 源代码网推荐 InsertParameters 指定插入方法参数 源代码网推荐 UpdateParameters 指定更新方法参数 源代码网推荐 DeleteParameters 指定删除方法参数 源代码网推荐 SelectParameters 指定查询方法参数 源代码网推荐 CacheDuration 缓存间隔时间以秒为单位 源代码网推荐 SqlCacheDependency 基于某个数据实体的缓存 源代码网推荐 源代码网推荐 创建和清除 源代码网推荐 源代码网推荐 ObjectDataSource.SelectMethod 可以使用静态方法也可以使用一个类的新实例 源代码网推荐 源代码网推荐 如果使用实例方法:ODS 在每次调用的时候创建一个新实例类必须具有公共的建构函数 源代码网推荐 源代码网推荐 使用ObjectCreated 和ObjectDisposing 元素可以初始化和撤销函数 源代码网推荐 源代码网推荐 5.增强的DataGrid 控件 源代码网推荐 源代码网推荐 支持复杂的数据单元格类型,包括CheckBoxFields在<Columns> 元素中声明高可定制的用户界面 源代码网推荐 源代码网推荐 gridView 列类型: 源代码网推荐 源代码网推荐 名称 描述 源代码网推荐 BoundField 显示数据库中取出的文本 源代码网推荐 ButtonField 显示按钮 源代码网推荐 CheckBoxField 使用check boxes显示一个boolean型变量 源代码网推荐 HyperLinkField 显示一个超链接 源代码网推荐 TemplateField 显示一个自定义的HTML模板 源代码网推荐 CommandField 显示一个查询或者编辑按钮 源代码网推荐 ImageField 显示一个图片6. 冲突判定 源代码网推荐 源代码网推荐 6.先入胜利 源代码网推荐 源代码网推荐 如果数据在取出之后被改变,则修改失败 源代码网推荐 源代码网推荐 UpdateCommand结构构成指定ConflictDetection=“CompareAllValues”来实现后入胜利 源代码网推荐 源代码网推荐 无论数据是否被修改,该修改都会成功 源代码网推荐 源代码网推荐 UpdateCommand结构构成指定ConflictDetection=“OverwriteChanges”来实现 源代码网推荐 源代码网推荐 6.1 先入胜利法则更新 源代码网推荐 源代码网推荐 <asp:SqlDataSourceID="Employees" RunAt="server" 源代码网推荐 ConnectionString="server=localhost;database=northwind;" 源代码网推荐 SelectCommand="select employeeid, lastname, firstnamefrom employees" 源代码网推荐 UpdateCommand="update employees set lastname=@lastname, firstname= 源代码网推荐 @firstnamewhere employeeid=@original_employeeid and lastname= 源代码网推荐 @original_lastnameand firstname=@original_firstname" 源代码网推荐 ConflictDetection="CompareAllValues"> 源代码网推荐 <UpdateParameters> 源代码网推荐 <asp:ParameterName="EmployeeID" Type="Int32" /> 源代码网推荐 <asp:ParameterName="lastname" Type="String" /> 源代码网推荐 <asp:ParameterName="firstname" Type="String" /> 源代码网推荐 </UpdateParameters> 源代码网推荐 </asp:SqlDataSource> 源代码网推荐 <asp:GridViewDataSourceID="Employees" Width="100%" RunAt="server" 源代码网推荐 源代码网推荐 DataKeyNames="EmployeeID" AutoGenerateEditButton="true" /> 源代码网推荐 源代码网推荐 7.错误检测 源代码网推荐 源代码网推荐 数据更新后控件调用的事件GridView.RowUpdated,DetailsView.ItemUpdated,SqlDataSource.Updated, etc. 源代码网推荐 源代码网推荐 处理“status”的事件,无论数据库是否异常允许数据库异常被处理或者再次抛弃,显示多少数据库行被修改 源代码网推荐 源代码网推荐 处理更新错误 源代码网推荐 <asp:SqlDataSourceID="Employees" RunAt="server" 源代码网推荐 UpdateCommand="" OnUpdated="OnUpdateComplete"> 源代码网推荐 源代码网推荐 </asp:SqlDataSource> 源代码网推荐 源代码网推荐 void OnUpdateComplete (Object source, SqlDataSourceStatusEventsArgse) 源代码网推荐 { 源代码网推荐 if (e.Exception!= null) { 源代码网推荐 // Exception thrown. Set e.ExceptionHandledto true to prevent 源代码网推荐 // the SqlDataSourcefrom throwing an exception, or leave it set 源代码网推荐 // to false to allow SqlDataSourceto rethrowthe exception 源代码网推荐 } 源代码网推荐 else if (e.AffectedRows== 0) { 源代码网推荐 // No exception was thrown, but no records were updated,either. 源代码网推荐 // Might want to let the user know that the update failed 源代码网推荐 } 源代码网推荐 } 源代码网推荐 源代码网推荐 源代码网推荐 源代码网供稿. |
