<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
<!--</span><span style="COLOR: #008000">ASP.NET1.xdatabindingexpression</span><span style="COLOR: #008000">-->
#DataBinder.Eval(Container.DataItem,
"
Price
"
)
%>
<!--</span><span style="COLOR: #008000">EquivalentASP.NET2.0databindingexpression</span><span style="COLOR: #008000">-->
#
Eval
(
"
Price
"
)
%>
<!--</span><span style="COLOR: #008000">XMLdatabinding</span><span style="COLOR: #008000">-->
#XPath(
"
Price
"
)
%>
2.數據源控件
控件名 控件描述
SqlDataSource 一切支持SQL語句的數據源控件
AccessDataSource Access數據源控件
XmlDataSource XML數據源控件
ObjectDataSource 自行編寫組件的數據源控件
SiteMapDataSource頁面導航控件的數據源控件
2.1 SqlDataSource關鍵屬性
名稱 描述
ConnectionString 連接數據庫的連接字符串
SelectCommand 用于執行查詢的命令
InsertCommand 用于執行插入的命令
UpdateCommand用于執行更新的命令
DeleteCommand 用于執行刪除的命令
DataSourceMode 指定數據源類型是DataSet或DataReader(默認值
=
DataSet)
ProviderName 指定供應商(默認值
=
SQLServer.NETprovider)
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
="selectdistinctcountryfromcustomersorderbycountry"
/>
asp:SqlDataSourceID
="Customers"
RunAt
="server"
ConnectionString
="server=localhost;database=northwind;"
SelectCommand
="select*fromcustomerswherecountry=@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"
/>
CREATEPROCEDUREproc_GetCustomers
@Countrynvarchar(32)AS
SELECT*FROMCustomers
WHERECountry=@Country
GO
CREATEPROCEDUREproc_GetCustomers
CREATEPROCEDUREproc_GetCountriesAS
SELECTDISTINCTCountry
FROMCustomers
ORDERBYCountry
GO
3.XmlDataSource 使用XML 作為數據源
支持緩存與XSL 轉換,只支持查詢綁定,不支持更新
asp:XmlDataSourceID
="Rates"
DataFile
="Rates.xml"
RunAt
="server"
/>
asp:TreeViewID
="MyTreeView"
DataSourceID
="Rates"
RunAt
="server"
/>
3.1 XmlDataSource的關鍵屬性
名稱 描述
DataFileXML 數據文件的路徑
TransformFile 含有XSL風格定義的數據文件路徑
EnableCaching 指定是否開啟cache(默認值
=
false
)
XPathXPath 表達式用來確認數據
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> 元素中聲明高可定制的用戶界面<br>gridView 列類型:<br><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"><span style="COLOR: #000000">名稱 描述<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">BoundField 顯示數據庫中取出的文本<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">ButtonField 顯示按鈕<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">CheckBoxField 使用checkboxes顯示一個boolean型變量<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">HyperLinkField 顯示一個超鏈接<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">TemplateField 顯示一個自定義的HTML模板<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">CommandField 顯示一個查詢或者編輯按鈕<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">ImageField 顯示一個圖片</span> </div></columns>6. 沖突判定
先入勝利
如果數據在取出之后被改變,則修改失敗
UpdateCommand結構構成指定ConflictDetection
=
“CompareAllValues”來實現
后入勝利
無論數據是否被修改,該修改都會成功
UpdateCommand結構構成指定ConflictDetection
=
“OverwriteChanges”來實現
6.1 先入勝利法則更新
asp:SqlDataSourceID
="Employees"
RunAt
="server"
ConnectionString
="server=localhost;database=northwind;"
SelectCommand
="selectemployeeid,lastname,firstnamefromemployees"
UpdateCommand
="updateemployeessetlastname=@lastname,firstname=
@firstnamewhereemployeeid=@original_employeeidandlastname=
@original_lastnameandfirstname=@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
>
voidOnUpdateComplete(Objectsource,SqlDataSourceStatusEventsArgse)
{
if(e.Exception!=null){
//Exceptionthrown.Sete.ExceptionHandledtotruetoprevent
//theSqlDataSourcefromthrowinganexception,orleaveitset
//tofalsetoallowSqlDataSourcetorethrowtheexception
}
elseif(e.AffectedRows==0){
//Noexceptionwasthrown,butnorecordswereupdated,either.
//Mightwanttolettheuserknowthattheupdatefailed
}
}
1.簡單數據綁定定















































































支持緩存與XSL 轉換,只支持查詢綁定,不支持更新











從數據組件綁定數據,提供中間件的數據綁定,使數據訪問和UI脫離,兩種數據綁定方式
SelectMethod, InsertMethod, UpdateMethod,and DeleteMethod
可選擇是否使用緩存,可選擇是否使用參數
4.1 ODS 關鍵屬性












支持復雜的數據單元格類型,包括CheckBoxFields在<columns> 元素中聲明高可定制的用戶界面<br>gridView 列類型:<br><div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"> <img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top"><span style="COLOR: #000000">名稱 描述<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">BoundField 顯示數據庫中取出的文本<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">ButtonField 顯示按鈕<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">CheckBoxField 使用checkboxes顯示一個boolean型變量<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">HyperLinkField 顯示一個超鏈接<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">TemplateField 顯示一個自定義的HTML模板<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">CommandField 顯示一個查詢或者編輯按鈕<br><img alt="" src="http://ghd258.cnblogs.com/Images/OutliningIndicators/None.gif" align="top">ImageField 顯示一個圖片</span> </div></columns>6. 沖突判定





















數據更新后控件調用的事件GridView.RowUpdated,DetailsView.ItemUpdated,SqlDataSource.Updated, etc.
處理“status”的事件,無論數據庫是否異常允許數據庫異常被處理或者再次拋棄,顯示多少數據庫行被修改
處理更新錯誤

















更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
