如何在Repeater ItemTemplate中使用它?如何在Container.DataItem中使用foreach?
foreach(string tag in Eval("etiketler"))
{
Response.Write("<a href='#'>"+tag+"</a");
}
如何在Repeater ItemTemplate中使用它?如何在Container.DataItem中使用foreach?
foreach(string tag in Eval("etiketler"))
{
Response.Write("<a href='#'>"+tag+"</a");
}
有沒有辦法做到這一點這種格式。你應該送的DataItem靜態方法,然後你應該會返回一個包含您的標記字符串..
public static string GetMarkup(object dataItem)
{
var tags = DataBinder.Eval(dataItem, "etiketler"); // depend on etiketler type
StringBuilder sb = new StringBuilder();
foreach(string tag in tags)
{
sb.Append("<a href='#'>"+tag+"</a");
}
return sb.ToString();
}
使用這種方法是這樣的:
<%# GetMarkup(Container.DataItem) %>
<%#
不言使用foreach
它,既不if
或其他語言的關鍵字。它主要完成數據綁定。
,但你可以:
做它與中繼器的_ItemDataBound事件代碼隱藏(巨大的建議報告進行復雜的處理/格式化)。 請參閱http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.repeater.itemdatabound%28v=vs.110%29.aspx
調用接受參數DataItem並創建所需數據的頁面的方法。例如見How do you pass a Container.DataItem as a parameter?
希望這有助於
您也可以在ASP中使用嵌套中繼器.NET
<asp:Repeater runat="server" ID="rpt1">
<ItemTemplate>
<asp:Repeater runat="server" ID ="rpt2" DataSource='<%# Eval("etiketler") %>'>
<ItemTemplate>
<%# Eval("tag") %>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>