2011-11-01 71 views

回答

6

标记:

<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); 
    } 
} 
+0

感谢先生。我已经失去了12分来得到这个答案。洛尔兹..再次感谢。 –

+0

这怎么能工作呢? FindControl只返回1个控件。我们不应该为多个元素使用相同的ID。相反,我们可以直接设置HTML属性:onmouseover =“<% ... %>” – Hp93

相关问题