代码之家  ›  专栏  ›  技术社区  ›  Bryan

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

  •  8
  • Bryan  · 技术社区  · 14 年前

    这是一个令人费解的问题,我没有看到一个好的答案,在StackOverflow,虽然有几个刺头在它…我想这样做:

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

    问题是…根据元素绑定到的项索引,如何获取元素的ID为ID1、ID2、ID3等?到目前为止…呃……“优雅”的解决方案是用asp:literal替换<li>,并转储<li…>'文本。但那只是感觉…所以错了。不,我没有使用ASP.NET 4.0,我读过它将提供此功能。

    1 回复  |  直到 14 年前
        1
  •  16
  •   SLaks    14 年前

    这样地:

    <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>