我想知道如何在Asp.Net Repeater控件的HeaderTemplate或FooterTemplate中找到控件。
我可以在ItemDataBound事件上访问它们,但是我想知道之后如何获取它们(例如,检索页眉/页脚中输入的值)。
注意:我在找到答案后才在此处发布此问题,以便我记住它(也许其他人可能会觉得有用)。
最佳答案
如评论中所述,只有在使用DataBound中继器之后,此功能才起作用。
要在 header 中找到控件:
lblControl = repeater1.Controls[0].Controls[0].FindControl("lblControl");
要在页脚中找到控件:
lblControl = repeater1.Controls[repeater1.Controls.Count - 1].Controls[0].FindControl("lblControl");
使用扩展方法
public static class RepeaterExtensionMethods
{
public static Control FindControlInHeader(this Repeater repeater, string controlName)
{
return repeater.Controls[0].Controls[0].FindControl(controlName);
}
public static Control FindControlInFooter(this Repeater repeater, string controlName)
{
return repeater.Controls[repeater.Controls.Count - 1].Controls[0].FindControl(controlName);
}
}
关于asp.net - 如何在转发器的页眉或页脚中查找控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/701412/