ASP.NET:Repeater控制項的詳解

來源:互聯網
上載者:User
asp.net|控制項|詳解     在學習DataGrid控制項和DataList控制項後,我們知道,DataGrid控制項對資料輸出格式是自動產生HtmlTable標記的,DataList控制項也是這樣,它根據資料內容來產生資料控製表格。而重複器控制項是模板化的資料繫結列表,重複器控制項是“無外觀的”,即:它不具有任何內建布局或樣式,也就不會產生任何資料控製表格來控制資料的顯示。因此,我們必須在控制項的模板中明確聲明所有 HTML 布局標記、格式標記和樣式標記。

  在第一節裡我們也說過Repeater控制項是個輕量級的資料繫結控制項,一般用它來輸出要求相對簡單的資料,下面,我們利用這個控制項,做一個簡單的留言板。在這個留言板裡,我們充分利用Repeater控制項的控能,進行資料顯示,資料分頁,嵌入控制項響應事件等等。

  首先,利用Access2003建立一個GuestbookData.mdb資料庫,包含一個資料表GuestMessage,資料表欄位屬性如圖9.16所示。


圖9.16 GuestMessage資料表的欄位屬性

  一個功能完善的留言板應包括三個主要內容:
  (1)、留言瀏覽
  (2)、發表留言
  (3)、留言管理(回複,刪除。有的還要求有審核功能)

  我們來根據這三個功能來詳細介紹我們這個執行個體的編寫。

  在DataCon Web 項目中新增一個WebForm表單,命名為Repeater_Sample.aspx,添加一個Repeater控制項,ID=“Repeater1”;三個Panel控制項,三個Panel控制項的ID分別是“login”,“reply”和“write”。

  首先我們來看“留言瀏覽”功能的HTML布局代碼。在“留言瀏覽”部分我們要應用Repeater控制項,該控制項的屬性列、綁定設定以及嵌入控制項屬性如下,注意綁定資料的使用:

<TABLE id="Table2" style="WIDTH: 384px; TR: "
   cellSpacing="0" cellPadding="0" width="384"
  align="left" border="0">
<TBODY>
<TR borderColor="#009900">
 <td><asp:linkbutton id="say" Runat="server">我要說兩句</asp:linkbutton></td>
</TR>
<TR>
<TD>
  <asp:repeater id="Repeater1" runat="server">
 <ItemTemplate>
 <table width="400" border="1"
   cellpadding="0" cellspacing="0"
   bordercolor="#009966" style="FONT-SIZE: 12px">
 <tr>
 <td width="100" height="20">
  暱稱:<%#  databinder.eval(container.dataitem,"name" ) %></td>
 <td width="300">
  這是 <b><%#  databinder.eval(container.dataitem,"name" ) %>
 </b><%#  databinder.eval(container.dataitem,"sex" ) %>於[<%# databinder.eval(container.dataitem,"senddate").tostring %>]的留言</td>
</tr>
 <tr>
 <td><%# "<img width=50 height=90  src ="+databinder.eval(container.dataitem,"face")+">" %></td>
<td><%# databinder.eval(container.dataitem,"content")  %></td>
</tr>
<tr>
<td><%# "<img src=http://www.163design.net/n/i/image/ip.gif alt=IP:"+ databinder.eval(container.dataitem,"ip")+" >" %>
<%# databinder.eval(container.dataitem,"ip") %>
</td><td>
<%# "<a href=mailto:" &  DataBinder.Eval(Container.DataItem,"Email")  & ">給他發郵件</a>" %>
<asp:LinkButton Runat=server CommandName ="del" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>' ID="Linkbutton1" NAME="Linkbutton1">刪除留言</asp:LinkButton>
    
<asp:LinkButton Runat=server CommandName ="reply" CommandArgument= '<%# DataBinder.Eval(Container.DataItem,"ID") %>' ID="Linkbutton2" NAME="Linkbutton1">回複留言</asp:LinkButton>   
</tr>
</table>
</ItemTemplate>
<SeparatorTemplate>
<table width="400" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="400" background="image/bg01.gif"></td>
</tr>
</table>
</SeparatorTemplate>
</asp:repeater></TD>
</TR>
<TR borderColor="#009900">
<TD class="style2" style="FONT-SIZE: 12px" borderColor="#009900" align="right" colSpan="2"><asp:label id="pagesinfor" runat="server" Font-Size="X-Small"></asp:label>/<asp:linkbutton id="prevpage" runat="server" Font-Size="X-Small">[上一頁]</asp:linkbutton>  
<asp:linkbutton id="nextpage" runat="server" Font-Size="X-Small">[下一頁]  </asp:linkbutton>跳轉至第 <asp:dropdownlist id="pageslist" runat="server" AutoPostBack="True"></asp:dropdownlist>頁  
</TD>
</TBODY>
</TABLE>

[1] [2] [3] [4] 下一頁  



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。