首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在网格视图中将id设置为面板控件

在网格视图中将id设置为面板控件
EN

Stack Overflow用户
提问于 2010-03-15 22:32:23
回答 3查看 1.7K关注 0票数 2

我在gridview的模板中有一个面板控件。

我需要在javascript函数中隐藏/取消隐藏面板,因为我需要将面板的id传递给javascript。

问题是所有面板在网格视图中都有相同的id,所以我需要为每个面板设置唯一的id。

我试着做:

代码语言:javascript
运行
复制
<asp:Panel id= "Panel_<%# Eval("ID")%>"

还有一些其他的变体,但总是会有错误。

该面板包含一些其他控件,我需要它是服务器端,因为我需要在代码隐藏处设置(在检查用户是否经过身份验证后)。

我能做什么?

附注:

它不一定是Panel,我可以在Findcontrol中找到任何其他控件,并且可以保存其他控件。

更新:

代码语言:javascript
运行
复制
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!!!
     }
   }
}
EN

回答 3

Stack Overflow用户

发布于 2010-03-15 22:36:48

若要在javascript中使用服务器端控件的ids,应使用控件的ClientID属性。

代码语言:javascript
运行
复制
<script type="text/javascript">
function hidePanel(panelId){
    var panel = document.getElementById(panelId);
    panel.style.display = 'none';    
}
</script>

所以你可以在像hidePanel(<%=panel.ClientID%>);这样的处理程序中使用它。

票数 2
EN

Stack Overflow用户

发布于 2010-03-15 22:38:04

我想,要将面板的id设置为唯一值,您应该使用以下内容(注意单引号和双引号的使用):

代码语言:javascript
运行
复制
<asp:Panel id='<%# "Panel_" + Eval("ID") %>'

尽管如此,这可能仍然没有帮助,因为客户端ID将由面板的父控件的ID和面板的ID(例如ctl00_MyGridView_Panel_1 )组成。

作为另一种选择,您可以将面板的CssClass属性设置为唯一值(因为这不会被ASP.NET更改),然后使用基于客户端的代码来选择面板。例如,当使用jquery时:

代码语言:javascript
运行
复制
$('Panel_1').click( ... )
票数 0
EN

Stack Overflow用户

发布于 2010-03-15 22:38:27

让ASP.NET为您生成ID。然后,使用ClientID属性。

只要它在同一个模板列中,您就应该能够直接在那里使用它。就像这样:

代码语言:javascript
运行
复制
<asp:Panel ID="MyGridViewPanel" runat="server" style="display:none;">Hello World!</asp:Panel>
<a href='javascript:open_the_panel(<%=MyGridViewPanel.ClientID%>);'>Open the panel</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2450935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档