国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

運(yùn)用 ASP+ 下文綁定控件(上)

運(yùn)用 ASP+ 下文綁定控件(上)

更新時(shí)間:2022-05-05 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

簡(jiǎn)介

  Repeater、DataList和DataGrid控件構(gòu)成ASP+頁面框架中System.Web.
UI.WebControls名稱空間內(nèi)的相關(guān)Web控件集。這些控件使HTML顯示所綁
定列表或數(shù)據(jù)源的內(nèi)容。因此,將它們統(tǒng)稱為“列表綁定控件”。

與框架中的其它 Web

  控件類似,這些控件提供一致的編程模型并封裝一個(gè)獨(dú)立于瀏覽器的
表示邏輯。這些特性使開發(fā)人員能夠針對(duì)對(duì)象模型編程而不用必須掌握與
HTML 相關(guān)的那些不一致的和復(fù)雜的技術(shù)知識(shí)。

  這三種控件可以按多種布局(包括列表、分欄/報(bào)紙欄目和流布局
(HTML流))來表示與其相關(guān)的數(shù)據(jù)源內(nèi)容。此外,它們還允許您創(chuàng)建完
全不同的或完全定制的布局。除了封裝有表示邏輯外,還提供了用來處理
已發(fā)送數(shù)據(jù)、執(zhí)行狀態(tài)管理和引發(fā)事件的功能。最后,它們還對(duì)諸如選擇、
編輯、分頁和排序之類的標(biāo)準(zhǔn)操作提供不同級(jí)別的支持。這些控件可以簡(jiǎn)
化幾種常見的 Web 應(yīng)用程序方案,包括報(bào)表、購物車、產(chǎn)品列表、查詢
結(jié)果和導(dǎo)航菜單。

  下面幾節(jié)將進(jìn)一步說明這些控件和如何在您的 Web 應(yīng)用程序中使用
它們,以及如何選用控件。

列表綁定控件是如何工作的?

  本節(jié)是本文其余部分的背景材料。概述了這些列表綁定控件的工作方
式、它們的共同特性以及某些相關(guān)概念。

DataSource 屬性
  每個(gè)控件都有一個(gè)DataSource屬性,其類型為System.Collections.
ICollection。用最簡(jiǎn)單的話來說,數(shù)據(jù)源是同類對(duì)象的一個(gè)列表或集合。

  此框架中有幾個(gè)對(duì)象提供了 ICollection 的實(shí)現(xiàn)。這個(gè)集合包括
System.Data.DataView(它通常用來訪問關(guān)系數(shù)據(jù)庫和 XML 數(shù)據(jù))、一
般ICollection實(shí)現(xiàn)(如ArrayList和Hashtable)以及數(shù)組。

  與傳統(tǒng)的數(shù)據(jù)綁定控件(它們通常需要ADO記錄集)不同,除了實(shí)現(xiàn)
ICollection接口之外,這些列表綁定控件未對(duì)其數(shù)據(jù)源強(qiáng)加任何其它要
求。根據(jù)設(shè)計(jì),通過大量增加可作為有效DataSource屬性值的類型和數(shù)據(jù)
結(jié)構(gòu),它們能夠?yàn)槟膽?yīng)用程序代碼實(shí)現(xiàn)最大程度的簡(jiǎn)單和靈活性。

項(xiàng)目集合

  每個(gè)列表綁定控件都包含一個(gè)項(xiàng)目集合?丶ㄟ^列舉這些對(duì)象當(dāng)前
的數(shù)據(jù)源來置入其項(xiàng)目集合。在列舉中為每個(gè)對(duì)象創(chuàng)建單個(gè)項(xiàng)目并用于表
示該對(duì)象。這些項(xiàng)目同時(shí)成為列表綁定控件中包含的控件層次結(jié)構(gòu)的一部
分。

下表列出了與數(shù)據(jù)源的數(shù)據(jù)相關(guān)聯(lián)的項(xiàng)目類型。

項(xiàng)目 創(chuàng)建的默認(rèn)項(xiàng)目類型
AlternatingItem 為項(xiàng)目集合中具有奇數(shù)下標(biāo)的項(xiàng)目創(chuàng)建
SelectedItem 為選定的項(xiàng)目創(chuàng)建(不論該項(xiàng)目是否為備選項(xiàng)目)
EditItem 為處于編輯模式下的項(xiàng)目創(chuàng)建(不管它是否被選中或是否為備選項(xiàng)目)


  控件同時(shí)創(chuàng)建將在表示中用到的下列項(xiàng)目。但是,它們并不與數(shù)據(jù)源
的數(shù)據(jù)相關(guān)聯(lián)。

標(biāo)頭 用來表示標(biāo)頭信息
注腳 用來表示注腳信息
分隔符 用來表示圖 1 中所示的每個(gè)項(xiàng)目之間的內(nèi)容,并且僅適用于 Repeater 和 DataList
分頁符 用來表示與 DataGrid 控件相關(guān)聯(lián)的分頁 UI

      

項(xiàng)目的數(shù)據(jù)綁定和創(chuàng)建

  列表綁定控件遵循在整個(gè) ASP+ 框架中實(shí)現(xiàn)的顯式數(shù)據(jù)綁定模型。這
意味著控件僅當(dāng)其 DataBind 方法被調(diào)用時(shí)才需要并列舉其數(shù)據(jù)源。

當(dāng)調(diào)用 DataBind

  方法時(shí),列表控件將列舉其數(shù)據(jù)源、創(chuàng)建項(xiàng)目并通過從其數(shù)據(jù)源中提
取值來對(duì)其進(jìn)行初始化。如果啟用了狀態(tài)管理,則控件還將保存所需的全
部信息,以便在頁面的回傳處理期間重新創(chuàng)建其項(xiàng)目而無須重新設(shè)置數(shù)據(jù)
源。

  顯式數(shù)據(jù)綁定模型使您的應(yīng)用程序代碼可以精確地確定在處理序列中
何時(shí)及何處需要數(shù)據(jù)源。這種功能使對(duì)數(shù)據(jù)庫服務(wù)器的訪問更少且更高效,
而這些訪問通常是 Web 應(yīng)用程序最耗費(fèi)資源的操作。

  一般規(guī)則是每當(dāng)您需要重新創(chuàng)建項(xiàng)目時(shí)都必須調(diào)用DataBind。在大多
數(shù)情況下,您將在您的頁面首次被請(qǐng)求創(chuàng)建初始項(xiàng)目集合時(shí)調(diào)用DataBind。
在該頁面的后續(xù)執(zhí)行過程中,您將需要在引起項(xiàng)目集合被更改的各種事件
處理程序中調(diào)用此方法。當(dāng)用于創(chuàng)建初始數(shù)據(jù)源的查詢被修改時(shí),就可能
發(fā)生這種情況。當(dāng)項(xiàng)目的狀態(tài)改變(如從只讀模式變?yōu)榫庉嬆J剑⿻r(shí)也可
能發(fā)生這種情況。

樣式

  通過在對(duì)象模型上使用樣式屬性,您可以定義全部DataList和DataGrid
控件及其所包含項(xiàng)目的格式和外觀。這些屬性允許定制字體、顏色、邊框
和其它外觀因素。控件本身的樣式屬性(如前景色、背景色、字體和邊框
樣式)將影響整個(gè)控件的表示。

  此外,每個(gè)控件都包含與其所創(chuàng)建的項(xiàng)目類型相匹配的大量樣式屬性,
如as ItemStyle、AlternatingItemStyle和headerStyle。DataGrid提供
第三級(jí)的樣式屬性,這些屬性將影響特定列的所有單元格?丶邪
每一列都可以擁有其自己的 headerStyle、FooterStyle 和 ItemStyle。

模板

  樣式控制格式顯示,而模板則定義每個(gè)項(xiàng)目的內(nèi)容和表示。您可以將
模板看作HTML代碼片斷,它定義了用來表示項(xiàng)目的控件層次結(jié)構(gòu)。

  Repeater 和 DataList 控件由您指定的模板來驅(qū)動(dòng),提供各種可設(shè)
置的模板屬性,如ItemTemplate、AlternatingItemTemplate和header
Template。與樣式類似,每個(gè)模板都對(duì)應(yīng)于一個(gè)特定類型的項(xiàng)目。

  DataGrid 控件未模板化。但是,控件的 Column 集合中的 Template
Columns使DataGrid中模板的使用成為可能。TemplateColumn中的每個(gè)單
元格都可以包含一個(gè)模板,這與 Repeater 或 DataList 控件中的項(xiàng)目極
為類似。這也使 DataGrid 中的定制表示成為可能。

模板中的數(shù)據(jù)綁定

  模板定義項(xiàng)目中包含的控件層次結(jié)構(gòu)。通過使用數(shù)據(jù)綁定表達(dá)式,此
層次結(jié)構(gòu)中的控件屬性可綁定到與此項(xiàng)目相關(guān)聯(lián)的數(shù)據(jù)屬性上。

  作為模板的邏輯父級(jí)的項(xiàng)目在數(shù)據(jù)綁定表達(dá)式中被稱為“容器”。每
個(gè)容器都有一個(gè)稱為DataItem的屬性,該屬性引用其相關(guān)聯(lián)的數(shù)據(jù)。結(jié)果
是,模板中的大多數(shù)典型數(shù)據(jù)綁定表達(dá)式都將控件屬性綁定到 Container.
DataItem的某個(gè)屬性上。將在以下幾節(jié)介紹的示例中進(jìn)一步說明這種綁定。

Repeater 控件

  如前面所述,Repeater控件是完全由模板驅(qū)動(dòng)的,允許創(chuàng)建完全可定
制的表示和布局。下圖說明了這一功能。



摘自 Repeater1.aspx:

〈%@ Page language="C#" src="Repeater1.cs" inherits="Samples.
Repeater1Page"%〉
...

〈asp:Repeater runat=server id="linksListRepeater"
 DataSource='〈%# SiteLinks %〉'〉
 〈template name="headerTemplate"〉
  〈ul type="1"〉
 〈/template〉
 〈template name="ItemTemplate"〉
  〈li〉
   〈asp:HyperLink runat=server
    Text='〈%# DataBinder.Eval(Container.DataItem, "SiteName")
    %〉'
    NavigateUrl='〈%# DataBinder.Eval(Container.DataItem,
    "SiteURL") %〉'〉
   〈/asp:HyperLink〉
  〈/li〉
 〈/template〉
 〈template name="FooterTemplate"〉
  〈/ul〉
 〈/template〉
〈/asp:Repeater〉

  此.aspx文件顯示了一個(gè)用于生成帶項(xiàng)目符號(hào)列表的 repeater控件的
聲明。

  此示例說明了用數(shù)據(jù)綁定語法(〈%#...%〉)設(shè)置數(shù)據(jù)源的聲明方法。
當(dāng)您調(diào)用 DataBind 方法時(shí),數(shù)據(jù)綁定中的表達(dá)式就會(huì)被執(zhí)行。在這種情
況下,repeater 的 DataSource 屬性被綁定到頁面的 SiteLinks 屬性上,
后者包含要顯示的 URL 引用。

  Repeater是唯一允許在其模板中存在 HTML片段的控件,將 Repeater
控件和HTML片段合在一起會(huì)產(chǎn)生良好形式的HTML。在本示例中,帶項(xiàng)目符
號(hào)的列表分為三個(gè)部分:

  由 headerTemplate 表示的列表開始標(biāo)記 (〈ul type="1"〉)。

  由 FooterTemplate 表示的列表結(jié)束標(biāo)記 (〈/ul〉)。

  列表的主體由通過為 SiteLinks 集合中出現(xiàn)的每個(gè)對(duì)象重復(fù) Item
Template 而生成的列表項(xiàng) (〈li〉) 置入。

  您也可以使用這些模板在標(biāo)頭中指定表的開始標(biāo)記(〈TABLE〉),在注
腳中指定表的結(jié)束標(biāo)記(〈/TABLE〉),在每個(gè)項(xiàng)目中指定單個(gè)表行(〈TR〉)。此替換選項(xiàng)將導(dǎo)致列表表示。

  您必須指定 ItemTemplate。它是唯一必需的模板。當(dāng)未指定其它模
板時(shí),控件會(huì)自動(dòng)將此 ItemTemplate 用于其它模板。

  在以下示例中,ItemTemplate 包含一個(gè) HyperLink Web 控件。此控
件的Text和NavigateUrl屬性被綁定到與每個(gè)重復(fù)項(xiàng)目相關(guān)聯(lián)的數(shù)據(jù)屬性
上。這又是使用數(shù)據(jù)綁定表達(dá)式(在創(chuàng)建項(xiàng)目后立即對(duì)該表達(dá)式求值)完
成的。

Repeater1.cs:

namespace Samples {
 ...

 public class Repeater1Page : Page {
   protected Repeater linksListRepeater;

   public ICollection SiteLinks {
     get {
       ArrayList sites = new ArrayList();

       sites.Add(new SiteInfo("Microsoft Home",
                   "http://www.microsoft.com"));
       sites.Add(new SiteInfo("MSDN Home",
                   "http://msdn.microsoft.com"));
       sites.Add(new SiteInfo("MSN Homepage",
                   "http://www.msn.com"));
       sites.Add(new SiteInfo("Hotmail",
                   "http://www.hotmail.com"));
       return sites;
     }
   }

   protected override void OnLoad(EventArgs e) {
     base.OnLoad(e);

     if (!IsPostBack) {
       // 首次請(qǐng)求該頁時(shí)即對(duì)其進(jìn)行數(shù)據(jù)綁定 (DataBind)。
       // 這將在此頁的控件層次結(jié)構(gòu)中遞歸調(diào)用每個(gè)控件。
       DataBind();
     }
   }
 }

 public sealed class SiteInfo {
   private string siteName;
   private string siteURL;

   public SiteInfo(string siteName, string siteURL) {
     this.siteName = siteName;
     this.siteURL = siteURL;
   }

   public string SiteName {
     get { return siteName; }
   }
   public string SiteURL {
     get { return siteURL; }
   }
 }
}

  此 .cs 文件包含隨前一個(gè)列表中的 aspx 頁一起出現(xiàn)的代碼。

溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        亚洲天堂免费看| 国产精品2024| 麻豆国产欧美日韩综合精品二区 | 欧美国产丝袜视频| 精品一区二区在线播放| 欧美不卡在线视频| 欧美aaaaaa午夜精品| 91精品国产入口| 青青国产91久久久久久| 欧美精三区欧美精三区| 五月天激情小说综合| 欧美精品少妇一区二区三区| 丝袜美腿高跟呻吟高潮一区| 91.com视频| 久久精品二区亚洲w码| 久久久久久久一区| 成人高清在线视频| 一区二区三区四区精品在线视频 | 91久久香蕉国产日韩欧美9色| 成人欧美一区二区三区小说 | 国产偷国产偷亚洲高清人白洁| 国产精品亚洲一区二区三区妖精| 国产亚洲成av人在线观看导航| 国v精品久久久网| 亚洲欧美色图小说| 欧美久久久久免费| 久久www免费人成看片高清| 国产视频一区在线播放| 99国产精品久| 亚洲成人你懂的| 欧美大胆一级视频| 国产91精品久久久久久久网曝门 | 91在线视频网址| 亚洲成av人片在线观看无码| 欧美一级欧美三级| 成人免费视频视频在线观看免费 | 国产老女人精品毛片久久| 国产精品高潮呻吟| 69av一区二区三区| 高清成人免费视频| 亚洲成a人v欧美综合天堂| 久久久亚洲高清| 91国产成人在线| 黑人精品欧美一区二区蜜桃 | 亚洲一级二级三级在线免费观看| 日韩一区二区在线观看视频| 国产精品资源站在线| 亚洲色图视频网| 日韩一区二区三区高清免费看看| 成人av资源网站| 免费xxxx性欧美18vr| 最近中文字幕一区二区三区| 欧美卡1卡2卡| 99精品久久99久久久久| 秋霞午夜鲁丝一区二区老狼| 国产精品你懂的在线欣赏| 欧美日韩一二三| 成人av免费网站| 九九精品视频在线看| 亚洲成人资源在线| 亚洲三级在线观看| 26uuu国产电影一区二区| 欧美这里有精品| 国产成人免费视频网站| 日本不卡视频一二三区| 一区二区三区在线影院| 国产欧美一区二区精品仙草咪| 91精品国产综合久久久久久久 | 另类小说欧美激情| 亚洲成av人片| 一区二区三区在线观看视频| 中文字幕欧美区| 亚洲精品一区二区在线观看| 欧美精品日韩一区| 在线观看成人免费视频| 成人黄色在线网站| 国产福利一区二区三区视频在线| 青青青爽久久午夜综合久久午夜| 亚洲第一主播视频| 亚洲精品国产精品乱码不99| 国产精品久久久久久一区二区三区| 久久蜜桃香蕉精品一区二区三区| 日韩精品一区二区三区视频在线观看 | 国产精品理论在线观看| 日韩免费高清av| 欧美一区二区视频观看视频| 欧美少妇性性性| 日本乱人伦aⅴ精品| 99久久久久久99| 成av人片一区二区| 成人性生交大合| 成人午夜电影久久影院| 成人在线综合网| 粉嫩绯色av一区二区在线观看| 久久激情五月婷婷| 美女精品自拍一二三四| 久久国产麻豆精品| 麻豆成人久久精品二区三区小说| 水野朝阳av一区二区三区| 亚洲一线二线三线视频| 亚洲综合男人的天堂| 夜夜亚洲天天久久| 亚洲国产cao| 日韩av网站免费在线| 人人超碰91尤物精品国产| 伦理电影国产精品| 国产一区在线观看麻豆| 成人综合婷婷国产精品久久免费| 成人精品免费看| 99精品视频在线观看| 99免费精品在线| 色国产精品一区在线观看| 一本大道综合伊人精品热热| 精品视频在线免费看| 69久久99精品久久久久婷婷 | 99精品1区2区| 在线观看日韩精品| 日韩一区二区三| 久久精品人人做人人爽97 | 欧美日韩高清在线播放| 欧美一级搡bbbb搡bbbb| 国产亚洲成年网址在线观看| 专区另类欧美日韩| 亚洲高清视频中文字幕| 精品一区二区三区影院在线午夜 | 久久综合久久综合亚洲| 国产精品久久99| 亚洲国产综合色| 精品一区二区三区免费| 成人av电影在线| 欧美日韩激情一区二区三区| 欧美电影免费提供在线观看| 国产精品国产三级国产普通话99 | 久久国产夜色精品鲁鲁99| 国产91精品一区二区麻豆亚洲| 色菇凉天天综合网| 精品少妇一区二区三区日产乱码 | 日韩综合一区二区| 国产成人在线观看| 欧美性生活一区| 国产偷v国产偷v亚洲高清| 亚洲一区二区在线观看视频| 极品少妇xxxx偷拍精品少妇| 91亚洲资源网| 精品国产91乱码一区二区三区| 亚洲图片另类小说| 美女诱惑一区二区| 91香蕉视频黄| 久久亚洲综合av| 天使萌一区二区三区免费观看| 国产精品996| 欧美一级淫片007| 一区二区三区精品视频| 国产一区二区三区在线观看精品 | 中文字幕亚洲精品在线观看| 日本欧美一区二区三区乱码| av电影天堂一区二区在线观看| 日韩一区二区高清| 一区二区三区久久久| 成人午夜激情视频| 精品成人佐山爱一区二区| 香蕉久久一区二区不卡无毒影院| 成人一二三区视频| 久久亚洲精品国产精品紫薇| 丝袜美腿亚洲色图| 欧美日韩三级在线| 日韩一区欧美一区| 成人一区二区视频| 久久新电视剧免费观看| 日韩精品久久理论片| 在线一区二区三区四区五区| 中文字幕免费不卡| 国产91精品入口| 久久久久久久性| 激情图片小说一区| 日韩一区二区三区在线| 婷婷综合另类小说色区| 欧美午夜视频网站| 亚洲综合一区二区三区| 91蝌蚪porny| 自拍偷自拍亚洲精品播放| 成人污污视频在线观看| 久久久久久免费网| 国产在线观看一区二区| 精品国产麻豆免费人成网站| 欧美aⅴ一区二区三区视频| 欧美日韩国产色站一区二区三区| 亚洲视频电影在线| 国产精品三级视频| 色诱视频网站一区| 欧美精品乱码久久久久久| 国产精品久久夜| 韩国成人福利片在线播放| 欧美酷刑日本凌虐凌虐| 亚洲制服丝袜一区| 欧美日韩色一区| 夜夜精品视频一区二区| aaa欧美大片| 亚洲丝袜精品丝袜在线| 91精品福利视频|