中继器数据绑定,具有特定数据的操作
本文关键字:数据 操作 数据绑定 中继器 | 更新日期: 2023-09-27 18:04:15
下面是我的中继器代码,一切都很好,但我有一个问题:
在<span class="txsources">Sources: </span>
之后的末尾,我想把来自中继器的链接,在数据源后面的代码中有另一个包含链接的字段,但是在这个字段中,源被写入并与;
分隔,如:link1;link2;link3....
所以我被告知在代码后面写一个函数来完成这项工作…在中继器中是onitemdatabound
,我怎么做,应该在这个函数中写什么?为了能够在;
上分割它们并将它们作为链接。
<asp:Repeater runat="server" ID="rptArticleContent">
<ItemTemplate>
<tr>
<td width="365" valign="top" align="left" class="bodyContent" bgcolor="#FFFFFF">
<div>
<h2 class="h2">
<asp:Label runat="server" ID="dsds"> <%#Eval("Title") %></asp:Label>
</h2>
<div class="article-body">
<div class="Article-image">
<%#Eval("Image") %>
</div>
<%#Eval("Description") %>
</div>
<div class="horizontal_dotted_line1" align="right">
<a href="#top">>> Back to top</a></div>
<span class="txsources">Sources: </span><a href="#" target="_blank">Link 1</a>
| <a href="#" target="_blank">Link 2</a> | <a href="#" target="_blank">Link 3</a>
| <a href="#" target="_blank">Link 4</a> | <a href="#" target="_blank">Link 5</a>
| <a href="#" target="_blank">Link 6</a></div>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
我将在<span class="txsources">Sources: </span>
之后创建一个<asp:Literal />
控件,用于包含链接。
在后面的代码中,在ItemDataBound中,您可以做如下的事情:
Protected Sub rptArticleContent_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rptArticleContent.ItemDataBound
Select Case e.Item.ItemType
Case ListItemType.Item, ListItemType.AlternatingItem
Dim Links As String = e.Item.DataItem("Links")
Dim LinksStr As String() = Links.Split(";")
Dim Ltl As Literal = e.Item.FindControl("Ltl")
Dim Inc As Integer = 1
For Each item As String In LinksStr
Ltl.Text += String.Format("<a href='{0}'>Link {1}</a>", item, Inc)
Inc += 1
Next
End Select
End Sub
c#等效代码:
protected void rptArticleContent_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
{
switch (e.Item.ItemType) {
case ListItemType.Item:
case ListItemType.AlternatingItem:
string Links = e.Item.DataItem("Links");
string[] LinksStr = Links.Split(";");
Literal Ltl = e.Item.FindControl("Ltl");
int Inc = 1;
foreach (string item in LinksStr) {
Ltl.Text += string.Format("<a href='{0}'>Link {1}</a>", item, Inc);
Inc += 1;
}
break;
}
}