我在gridview的模板中有一个panel控件。
我需要在javascript函数中隐藏/取消隐藏面板,为此我需要将面板的ID传递给javascript。在gridview中为panel控件设置id
问题是所有面板在gridview中都有相同的ID,所以我需要为每个面板设置唯一的ID。
我试图做的:
<asp:Panel id= "Panel_<%# Eval("ID")%>"
和其他一些变化,但总是得到一个错误。
面板包含其他一些控件,我需要它是服务器端,因为我需要设置为隐藏代码(如果用户进行身份验证检查后)
我能做些什么?
p.s.
它不必是Panel,我可以使用Findcontrol找到的任何其他控件,并且可以保存其他控件。
更新:
I set the the js event in code behind:
protected void gvw_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (UserIsAuthenticated)
{
HyperLink title = e.Row.FindControl("lnkTitle") as HyperLink;
Panel panel = e.Row.FindControl("panel") as Panel;
title.Attributes.Add("onmouseover", "ShowHidePanel(" + panel.ClientID +")");
//All get the same id!!!
}
}
}
如果你在gridview中这样做,那么你最终会得到N'hidePanel()'函数。 – M4N 2010-03-15 22:44:51
@Martin你是对的。更新为具有N个'hidePanel()'调用。 – Li0liQ 2010-03-15 23:10:15