如何在转发器模板中动态设置控件ID?

时间:2010-04-27 00:18:11

标签: asp.net repeater

这是一个令人困惑的问题我在StackOverflow上没有看到一个好的答案,虽然有几个刺...我有一种情况我想这样做:

<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
    <ItemTemplate>
        <li id="id?">
            All the other stuff
        </li>
    </ItemTemplate>
</asp:Repeater>

问题是...如何获取我的&lt; li&gt;的ID元素是id1,id2,id3等,基于它们绑定的ItemIndex?到目前为止,我提出的最......呃......“优雅”的解决方案是替换&lt; li&gt;使用asp:Literal并转储&lt; li ...&gt;'文本。但那感觉......太错了。不,我没有使用ASP.NET 4.0,我读过它将提供此功能。

1 个答案:

答案 0 :(得分:16)

像这样:

<asp:Repeater ID="MyRepeater" runat="server" OnItemDataBound="MyRepeater_ItemDataBound">
    <ItemTemplate>
        <li id="li<%# ((RepeaterItem)Container).ItemIndex + 1%>">
            All the other stuff
        </li>
    </ItemTemplate>
</asp:Repeater>