C# 在具有面板id的asp页面中查找面板

C# 在具有面板id的asp页面中查找面板,c#,asp.net,vb.net,C#,Asp.net,Vb.net,在我的应用程序中,我从数据库中获取面板id,在网页中,我需要找到具有该id的面板,我需要使其可见。 代码隐藏是 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Try Dim kioskxml As String = "pnlfindid" Dim myControl1 As Control = Pa

在我的应用程序中,我从数据库中获取面板id,在网页中,我需要找到具有该id的面板,我需要使其可见。 代码隐藏是

 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Try
            Dim kioskxml As String = "pnlfindid"
            Dim myControl1 As Control = Page.FindControl(kioskxml)
            If (Not myControl1 Is Nothing) Then
                myControl1.Visible = False

            End If


        Catch ex As Exception

        End Try
    End Sub
但根据上面的代码片段,我无法获取面板,但它可以与textbox和其他控件一起正常工作。 我需要一种方法来找到页面加载时id为的面板

我的Html页面

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

<ajaxToolkit:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
    </ajaxToolkit:ToolkitScriptManager>
    <div onload="disableBackButton();">
    <table align="center" width="100%" cellpadding="0" cellspacing="0">
    <tr>
    <td>

        <asp:Panel ID="pnlfindId" runat="server">
          <table align="center" width="100%" cellpadding="0" cellspacing="0">
             <tr>
                <td> 
                <asp:Panel ID="pane3" runat="server">
                </asp:Panel>
                     </td>

                    </tr>


                 </table>

                   </asp:Panel>
             </td>

       </tr>


  </table>


谢谢

也许你需要

Dim myControl1 As Control = Master.FindControl(kioskxml)


其他一切看起来都很好…

我假设您试图在内容页的加载事件中找到控件,而不是母版页的加载事件

您需要首先找到contentplaceholder,然后在contentplaceholder中找到面板 由于我不熟悉VB.NET语法,我提供C#语法:

当然,如果您是在母版页的页面加载事件中执行此操作

 ContentPlaceHolder cont = (ContentPlaceHolder)this.FindControl("ContentPlaceHolder1");
 Panel myPanel = cont.FindControl(kioskxml); 
试试这个代码

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Try

            Dim myControl1 As Control =directcast(Page.FindControl("pnlfindid"),Control)
            If (Not myControl1 Is Nothing) Then
                myControl1.Visible = False

            End If


        Catch ex As Exception

        End Try
    End Sub

确保页面中存在
pannelID
。页面中存在panelId,但mycontrol在context@AravindGoud此面板是动态生成的吗?该控件可能位于其他控件中,您应该使用递归检索它。如果你愿意,我可以给你看一些C#代码。页面中没有面板,我需要找到面板并使其可见false@Tushar Gupta
ContentPlaceHolder cont = (ContentPlaceHolder)this.Master.FindControl("ContentPlaceHolder1");
Panel myPanel = cont.FindControl(kioskxml); 
 ContentPlaceHolder cont = (ContentPlaceHolder)this.FindControl("ContentPlaceHolder1");
 Panel myPanel = cont.FindControl(kioskxml); 
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Try

            Dim myControl1 As Control =directcast(Page.FindControl("pnlfindid"),Control)
            If (Not myControl1 Is Nothing) Then
                myControl1.Visible = False

            End If


        Catch ex As Exception

        End Try
    End Sub