【发布时间】:2011-04-22 23:09:11
【问题描述】:
我写了一个 web 用户控件 (ascx)。在里面,有一个面板,我想在点击用户控件内的超链接时显示/隐藏。
通常,只需执行以下操作即可轻松完成(onclick 属性会添加到预渲染的超链接中):
var PanelToShow = document.getElementById('<%=PanelInvoiceHasBeenCreated.ClientID %>');
if (PanelToHide != null) {
PanelToHide.style.display = 'none';
}
但是因为 ascx 控件保存在 gridview 中,所以上面将评估名称为“PanelInvoiceHasBeenCreated”的所有控件(其中有很多在 gridview 中)。只有当gridview中有1行时才会起作用。目前,使用我现有的代码,如果我单击任何行中的超链接,它会显示/隐藏 gridview 底行中的面板!
因此,我的问题是如何获得我需要在正确行的正确控件上显示/隐藏的实际唯一 ID??????
提前致谢。
【问题讨论】:
-
阅读您的问题后不确定,但听起来您有许多具有相同 ID 的元素。元素的 ID 应该是唯一的并且不能重复。如果您需要引用用于同一事物的元素,请改用 className。
-
你有一些示例输出吗?您的所有 .net 控件在呈现时都应该有一个唯一的 ID。
标签: c# javascript asp.net vb.net