【问题标题】:How to add an attribute to repeater item at runtime?如何在运行时向转发器项目添加属性?
【发布时间】:2011-11-01 06:56:53
【问题描述】:

我有一个中继器,我想为其项目添加鼠标悬停属性。

是否可以在运行时添加属性,如果可以,如何添加?

【问题讨论】:

    标签: asp.net repeater addattribute


    【解决方案1】:

    标记:

    <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
         <HeaderTemplate>
              <table>
         </HeaderTemplate>
         <ItemTemplate>
              <tr runat="server" id="itemRow">
                   <td>
                        <%# Container.DataItem.ToString() %>
                   </td>
              </tr>
         </ItemTemplate>
         <FooterTemplate>
              </table>
         </FooterTemplate>
    </asp:Repeater>
    

    代码:

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        var row = e.Item.FindControl("itemRow") as HtmlTableRow;
        if (row != null)
        {
            row.Attributes["onmouseover"] = string.Format("alert('Hello from row #{0}');", e.Item.ItemIndex );
        }
    }
    

    【讨论】:

    • 谢谢先生。我已经失去了 12 分来得到这个答案。大声笑..再次感谢。
    • 这个怎么用? FindControl 只返回 1 个控件。我们不应该对多个元素使用相同的 ID。相反,我们可以直接设置 HTML 属性:onmouseover=""
    猜你喜欢
    • 1970-01-01
    • 2011-12-10
    • 2013-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2017-11-17
    相关资源
    最近更新 更多