午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

ASP.NET 數(shù)據(jù)綁定概述

 Knowledge Source 2011-04-26

本文討論了下列數(shù)據(jù)綁定主題:

數(shù)據(jù)綁定概要

<%# %> 語法

ASP.NET 引入了一種新的聲明語法 <%# %>。該語法是在 .aspx 頁中使用數(shù)據(jù)綁定的基礎(chǔ)。所有數(shù)據(jù)綁定表達(dá)式都必須包含在這些字符中。下面的列表包含從多個(gè)源進(jìn)行簡(jiǎn)單數(shù)據(jù)綁定的示例:

  • 簡(jiǎn)單屬性(用于客戶的語法):

·                <%# custID %>

                         

  • 集合(用于訂單的語法):

·                <asp:ListBox id="List1" datasource='<%# myArray %>' runat="server">

                         

  • 表達(dá)式(用于聯(lián)系人的語法):

·                <%# ( customer.First Name + " " + customer.LastName ) %>

                         

  • 方法結(jié)果(用于未結(jié)清余額的語法):

·                <%# GetBalance(custID) %>

                         

在前面的示例中,<%# %> 內(nèi)聯(lián)標(biāo)記用于指示將把特定數(shù)據(jù)源中的信息放在 .aspx 頁中的什么位置。以下數(shù)據(jù)綁定示例使用 TextBox Web 服務(wù)器控件:

<asp:textbox id=txt text="<%# custID %>" runat=server />

                       

有關(guān)數(shù)據(jù)綁定語法的詳細(xì)信息,請(qǐng)參閱以下 .NET Framework 軟件開發(fā)工具包 (SDK) 文檔:

數(shù)據(jù)綁定表達(dá)式語法
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpcondatabindingexpressionsyntax.asp

Page.DataBind() Control.DataBind()

.aspx 頁上的對(duì)象確定并設(shè)置了特定數(shù)據(jù)源后,必須將數(shù)據(jù)綁定到這些數(shù)據(jù)源。您可以使用Page.DataBind  Control.DataBind 方法將數(shù)據(jù)綁定到數(shù)據(jù)源。

這兩種方法的使用方式很相似。主要差別在于:調(diào)用 Page.DataBind 方法后,所有數(shù)據(jù)源都將綁定到它們的服務(wù)器控件。在顯式調(diào)用 Web 服務(wù)器控件的 DataBind 方法或在調(diào)用頁面級(jí)的Page.DataBind 方法之前,不會(huì)有任何數(shù)據(jù)呈現(xiàn)給控件。通常,可以從 Page_Load 事件調(diào)用Page.DataBind(或 DataBind)。

有關(guān) DataBind 方法的詳細(xì)信息,請(qǐng)參閱以下 .NET Framework SDK 文檔:Control.DataBind 方法
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemWebUIControlClassDataBindTopic.asp

 

列表控件模板中的綁定

您可以使用列表控件中的模板來綁定和自定義數(shù)據(jù)源的各個(gè)記錄。本節(jié)提供了三種可用于執(zhí)行此操作的方法。

DataBinder.Eval 方法

當(dāng)數(shù)據(jù)源處理從數(shù)據(jù)庫返回的數(shù)據(jù)時(shí),它可能包含很多份信息。您可以使用通用的 DataBinder.Eval方法返回?cái)?shù)據(jù)。在以下代碼示例中,“au_id”字段是從容器對(duì)象的數(shù)據(jù)源中返回的:

<%# DataBinder.Eval(Container.DataItem,"au_id") %>

                       

有關(guān) DataBinder.Eval 方法的詳細(xì)信息,請(qǐng)參閱以下 .NET Framework SDK 文檔:

DataBinder.Eval 方法
http://msdn.microsoft.com/library/default.asp?url=/library/en-us /cpref/html/frlrfSystemWebUIDataBinderClassEvalTopic.asp

顯式轉(zhuǎn)換

如果您需要更多控件,可使用顯式轉(zhuǎn)換。顯式轉(zhuǎn)換使用類型轉(zhuǎn)換關(guān)鍵字。這些關(guān)鍵字充當(dāng)函數(shù),而由編譯器生成內(nèi)聯(lián)代碼。因此,執(zhí)行速度要比通過調(diào)用函數(shù)稍快。下列代碼示例使用顯式轉(zhuǎn)換: 
Visual C# .NET

// DataTable as the DataSource

<%# ((System.Data.DataRowView)Container.DataItem)["au_id"] %>

 

// DataReader as the DataSource

<%# ((System.Data.Common.DbDataRecord)Container.DataItem)["au_id"] %>

 

// DataReader as the DataSource

<%# ((System.Data.Common.DbDataRecord)Container.DataItem)[0] %>

ItemDataBound 事件

您還可以使用控件的 ItemDataBound 事件來綁定數(shù)據(jù)。當(dāng)將某個(gè)項(xiàng)目的數(shù)據(jù)綁定到控件時(shí),就會(huì)發(fā)生該事件。              

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多