如何添加在运行时的repeater项目的属性?
答
标记:
<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 =“” – Hp93