如何在运行时向转发器项目添加属性?

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案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=""

以上是关于如何在运行时向转发器项目添加属性?的主要内容,如果未能解决你的问题,请参考以下文章

在运行时向对象添加属性,并保存到数据库

我可以使用类别和运行时向 UIScrollView 添加 BOOL 类型属性“isScrolling”吗?

如何在使用ActionListener按钮和GUI时向数组列表中添加项目?

将项目拖动到它时向 Navigationviewitem 添加显示

从 SQL 向 Azure 服务总线队列添加消息

在运行时向兔子侦听器动态添加队列