国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

用ASP.NET實現Repeater控件的數據綁定演示

3403771864 / 535人閱讀

  我們先講講Repeater基礎。我們可以在aspx文件中融入Repeater 控件,也可以在<ItemTemplate></ItemTemplate>包含的范圍融入自己的代碼,當然這里也要使用到變量<%# Eval("SellerName")%>;注意兩側的引號。

  .aspx:

  <asp:Repeater ID="SellerRpt" runat="server">
  <ItemTemplate>
  <li><a href='<%# Eval("SellerName")%>' target="_blank">
  <%# Eval("ComName")%></a></li>
  </ItemTemplate>
  </asp:Repeater>

  和后臺cs中相對照,在頁面加載處加入數據綁定的代碼:

  protected void Page_Load(object sender, EventArgs e)
  {
  if (!IsPostBack)
  {
  DataTable dt = SellerDA.GetTopHotSellers(9);
  SellerRpt.DataSource = dt;
  SellerRpt.DataBind();
  }
  }

  aspx中"SellerName"、"ComName"為DataTable 中的列名。

  優化

  當讓我們也能夠用DataItem可減少Eval函數的執行步驟,優化頁面解析時間:

  <%# ((DataRowView)Container.DataItem)["SellerName"]%>替換<%# Eval("SellerName")%>

  ArrayList數據源

  如果數據源是ArrayList,并且ArrayList為一列string數組,則可不用寫出列名:

  .aspx:

  <asp:Repeater ID="topAdHintRpt" runat="server">
  <ItemTemplate>
  <asp:Label ID="BarLabel" CssClass="bar" runat="server" Text="|"></asp:Label>
  <a href="#" rel="external nofollow" ><span>
  <%#Container.DataItem%></span></a>
  </ItemTemplate>
  </asp:Repeater>

  .cs:

  ArrayList alterText;
  AdDA.GetIndexTopList(out alterText);
  topAdHintRpt.DataSource = alterText;
  topAdHintRpt.DataBind();

  處理后顯示

  現在我們要說的就是在特定情況下,數據庫中檢索出來的數據并不適合直接顯示出來,想要適當處理后顯示(eg:日期的格式,字符串長度的控制),可使用標簽來占位,在onitemdatabound函數中自行控制:

  .aspx:

  <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="ProRpt_ItemDataBound">
  <ItemTemplate>
  <asp:Label ID="colinDate" runat="server" Text=""></asp:Label>
  </ItemTemplate>
  </asp:Repeater>

  .cs:

  protected void ProRpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
  {
  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  {
  DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分類Repeater關聯的數據項
  string strDate = rowv["clDate"].ToString();
  Label DateLB = e.Item.FindControl("colinDate") as Label;
  DateLB.Text = strDate.Substring(0, 10);
  }
  }

  嵌套Reapeter的顯示

  對于某些復雜的顯示邏輯,需用用到Reapeter的嵌套,這里需要自行控制2層數據源的數據綁定:

  .aspx:

  <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="ProRpt_ItemDataBound">
  <ItemTemplate>
  <asp:Repeater ID="ParaRpt" runat="server" OnItemDataBound="ParaRpt_ItemDataBound">
  <ItemTemplate>
  <asp:Label ID="bar" CssClass="bar" runat="server" Text="|"></asp:Label>
  <span class="para">
  <%# Eval("Name")%>:
  <%# Eval("Value")%></span>
  </ItemTemplate>
  </asp:Repeater>
  </ItemTemplate>
  </asp:Repeater>

  .cs:

  protected void ProRpt_ItemDataBound(object sender, RepeaterItemEventArgs e)
  {
  //判斷里層repeater處于外層repeater的哪個位置( AlternatingItemTemplate,FooterTemplate,
  //HeaderTemplate,,ItemTemplate,SeparatorTemplate
  if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
  {
  Repeater rep = e.Item.FindControl("ParaRpt") as Repeater;//找到里層的repeater對象
  DataRowView rowv = (DataRowView)e.Item.DataItem;//找到分類Repeater關聯的數據項
  string str = Convert.ToString(rowv["Pro_Content"]); //獲取填充子類的內容
  rep.DataSource = Product.FillPara(str);
  rep.DataBind();
  }
  }


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/128202.html

相關文章

發表評論

0條評論

3403771864

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<