我有一个中继器:
<asp:repeater id="someID" runat="server">
<ItemTemplate>
<asp:hyperlink id=<%# Eval("ID")%> runat="server"></asp:hyperlink>
</ItemTemplate>
</asp:repeater>
我需要获得每个超链接的引用和访问它的属性。
在ItemDataBound上,如何继续访问ID刚刚设置的超链接?如果我有一个固定的超链接ID,那就不会有问题。但由于我也需要动态分配ID,我有点迷失了方向。。
如果你需要访问每个项目,那么你必须订阅OnItemDataBound事件,然后找到控制
private void rptMyTest_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{
Control control = e.Item.FindControl("ID_OF_YOUR_CONTROL") as Control;
if (control != null)
{
var dataItem = e.Item.DataItem as MYITEMTYPE;
if (DateTime.Now > dataItem.DateYouNeedToCheck)
control.ToolTip = "from the past";
//ALL THE MAGIC HAPPENS HERE
}
}
}
希望能有所帮助。
刚刚添加只要再读一遍你的帖子。
内部重复元素的ID将为每个项目自动设置,但您需要将其预先设置为某个静态值(以便获得对它的引用)。
如果你试图使用JQuery(或javascript)访问它,我建议不要使用硬编码的ID——有不同的方法可以做到这一点。
如果你多解释一下你正在努力实现的目标,那么回答你的问题或提出一些建议会容易得多。
更新检查上的代码示例