如何在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>