乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      DataList與Repeater

       悟靜 2012-02-16

      DataList與Repeater

      DataList與Repeater是另外兩組數(shù)據(jù)類控件,這兩組控件在ASP.NET 1.X的版本中已經(jīng)提供,在ASP.NET 2.0中被保留下來。這兩組控件的功能與上述XXXView之類的控件有些重疊,因此開發(fā)人員很容易發(fā)生混淆,試著了解它們之間本質(zhì)上的差異,是在適當?shù)臅r機妥善運用這些控件的關鍵。這一節(jié),我們將針對這兩個控件進行相關的說明,同時針對它們與XXXView類控件的差別進行說明。

      雖然XXXView這一類的控件為單筆數(shù)據(jù)與多筆數(shù)據(jù)的視圖編輯提供了方便的內(nèi)置功能,但是DataList與Repeater可讓我們以更彈性的方式來呈現(xiàn)數(shù)據(jù)內(nèi)容,同樣,我們假設讀者已經(jīng)有了相關的使用經(jīng)驗,因此直接來看看DataList在網(wǎng)頁上呈現(xiàn)的效果。在設置的過程中,你會看到此控件與前面討論的XXXView這一類的控件的差異。

      示例BooksTypedDataSetR/UDataList.aspx

      在上述項目中,新建一個網(wǎng)頁文件,將其命名為UDataList.aspx,在網(wǎng)頁上配置一個ObjectDataSource,指定其數(shù)據(jù)源為前面建立的BooksAuthorTableAdapters.BooksTableAdapter數(shù)據(jù)集。緊接著將一個DataList控件插入網(wǎng)頁,并且指定其數(shù)據(jù)源為ObjectDataSource,完成之后的網(wǎng)頁接口如下:

       
      DataList是一個與GridView功能類似的控件,但是它以樣板呈現(xiàn)每一筆數(shù)據(jù)的內(nèi)容,就如同把FormView嵌入GridView中取代以表格呈現(xiàn)的數(shù)據(jù)行,如此一來,開發(fā)人員可以更彈性地調(diào)整其中的每一筆數(shù)據(jù),這些內(nèi)容同樣由不同的面板所提供。打開DataList控件的智能型標簽,如下圖所示,單擊功能面板最下方的"編輯樣板"鏈接,切換到樣板編輯功能。
       
      在默認的情形下,DataList控件會顯示ItemTemplate樣板。當你切換到這個樣板的時候,會發(fā)現(xiàn)其設計模式與FormView非常類似,只是它最后會將所有的數(shù)據(jù)內(nèi)容顯示出來。除此之外,它同時提供了EditItemTemplate等編輯樣板,分隔符號樣板甚至還提供開發(fā)人員自行設計用來分隔數(shù)據(jù)的區(qū)隔符號,如下圖所示。
       
      如果沒有進行任何的設置,在瀏覽器中將會呈現(xiàn)以下的結果,它顯示了所有的數(shù)據(jù)內(nèi)容。
       

      讀者可以從這個示例中發(fā)現(xiàn),與GridView比較,DataList以樣板呈現(xiàn)每一列的內(nèi)容,因此當你需要同時呈現(xiàn)一筆以上的數(shù)據(jù),又要兼顧單筆編輯的彈性時,使用DataList會是比較合適的選擇。它可以讓我們處理GridView難以達到的數(shù)據(jù)外觀,但是相對地,它會缺失GridView的一些功能,例如分頁或數(shù)據(jù)排序等。無論如何,DataList適合我們自定義數(shù)據(jù)的版面內(nèi)容,后續(xù)會有更多的討論。

      DataList提供了兩個非常重要的屬性讓我們能夠輕易地改變其外觀:RepeatColumns與RepeatDirection。前者指定單一列所要呈現(xiàn)的數(shù)據(jù)筆數(shù),后者則是數(shù)據(jù)所要呈現(xiàn)的方向。在默認的情形下,RepeatColumns被設置為0,而RepeatDirection為Vertical,因此在這個示例中數(shù)據(jù)是由上而下、一次呈現(xiàn)一筆,讀者可以自行調(diào)整這兩個屬性值,看看效果的差異。以下的頁面是將RepeatColumns設置為3、而RepeatDirection為Horizontal,表示每一列會呈現(xiàn)3筆數(shù)據(jù),以水平方向從左至右顯示,如下圖所示。

       

      談完DataList,現(xiàn)在來看看DataRepeater控件。如同其名稱所表示的,適合用來呈現(xiàn)一些需要以重復格式表示的數(shù)據(jù)內(nèi)容,例如列表數(shù)據(jù)等。使用這個控件的時候應該了解的是,它不同于我們所討論的任何一種數(shù)據(jù)接口,當你完成數(shù)據(jù)綁定設置的時候,并不會產(chǎn)生任何綁定的數(shù)據(jù)內(nèi)容,開發(fā)人員必須手動切換到網(wǎng)頁標簽的程序代碼中進行設置,才能將綁定的數(shù)據(jù)呈現(xiàn)出來,它甚至沒有提供可視化的功能?,F(xiàn)在我們來看它在網(wǎng)頁上的運用。

      示例BooksTypedDataSetR/URepeater.aspx

      這個示例配置了一個ObjectDataSource控件及示范用的Repeater控件,建立其數(shù)據(jù)源為BooksAuthorTableAdapters.AuthorsTableAdapter,同時將Repeater控件綁定至ObjectDataSource控件,此時所呈現(xiàn)的界面如下:

       
      數(shù)據(jù)源設置完成之后,Repeater控件并沒有因此自動建立數(shù)據(jù)綁定,開發(fā)人員必須自已手動完成相關的配置?,F(xiàn)在切換到原始文件編輯頁,在其中的<asp:Repeater>標簽中輸入以下的內(nèi)容:
      <asp:Repeater ID="Repeater1" runat="server" 
      DataSourceID="ObjectDataSource1">
      <HeaderTemplate>
      <div style=" text-align:center; background :Black;
      font-weight:bolder;color:white; ">
      圖書作者列表數(shù)據(jù)</div>
      </HeaderTemplate>
      <ItemTemplate>          
      <div style=" text-align:center"><%# Eval("authorName") %> </div>
      </ItemTemplate>
      <AlternatingItemTemplate >
      <div style=" text-align:center; background :lightblue ">
      <%# Eval("authorName") %> </div>
      </AlternatingItemTemplate>
      <FooterTemplate>
      <div style=" text-align:center; background :Black;
      font-weight:bolder;color:white; ">結束</div>
      </FooterTemplate>
      </asp:Repeater>

      這段嵌入<asp:Repeater>標簽區(qū)塊的程序代碼,建立了4個樣板,分別定義標頭(HeaderTemplate)、數(shù)據(jù)內(nèi)容(ItemTemplate)、換行替代內(nèi)容(AlternatingItemTemplate)及頁尾(FooterTemplate)。其中分別以<div>標簽定義每個樣板所要呈現(xiàn)的內(nèi)容,陰影部分的代碼通過Eval綁定數(shù)據(jù)源內(nèi)容。

      下面為此定義在網(wǎng)頁上所呈現(xiàn)的內(nèi)容:

       

      Repeater控件是一種內(nèi)容完全開放的自定義的數(shù)據(jù)接口,因此在設計的過程中,可以有最大的彈性,但是同時,你必須耗費更大的精力才能完成所需的功能。與DataList控件相同,這兩組控件適合制作某些需要個性化的特殊版面,因為它們允許開發(fā)人員彈性地自定義所要呈現(xiàn)的數(shù)據(jù)內(nèi)容,相反,如果XXXView控件能夠輕易達到的功能,就不建議選擇此種控件來實現(xiàn)。

      完成了數(shù)據(jù)接口的介紹,本章的內(nèi)容即將告一段落。我們從主版頁面的網(wǎng)站共享區(qū)域開始,討論了如何創(chuàng)建網(wǎng)站系統(tǒng)的表示層接口,同時針對導航控件的運用,進行了相關的說明。讀者完成本章的課程后,應該已經(jīng)具備了足夠的知識建立整體網(wǎng)站的可視化接口。

      從下一章開始,我們要繼續(xù)介紹另外一個重要的主題:會員管理與網(wǎng)站的授權驗證機制,完成網(wǎng)頁的主體構造。接下來開發(fā)人員必須進一步為網(wǎng)站系統(tǒng)導入會員管理機制,提供進一步的授權驗證的相關功能。

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多