Asp.net 在aspx.page中设置ascx的可见性
在我的母版页中,左侧内容有ContentPlaceHolder,右侧内容见下文:Asp.net 在aspx.page中设置ascx的可见性,asp.net,vb.net,Asp.net,Vb.net,在我的母版页中,左侧内容有ContentPlaceHolder,右侧内容见下文: <body class="software"> <form id="form1" name="MyFrom" runat="server"> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" ></telerik:RadScriptManager>
<body class="software">
<form id="form1" name="MyFrom" runat="server">
<telerik:RadScriptManager runat="server" ID="RadScriptManager1" ></telerik:RadScriptManager>
<div>
<div id="wrapper">
<menu:main id="mainMenu" runat="server"/>
<div id="leftCol">
<asp:ContentPlaceHolder ID="LeftContent" runat="server">
</asp:ContentPlaceHolder>
</div>
<div id="rightCol">
<asp:ContentPlaceHolder ID="RightContent" runat="server">
</asp:ContentPlaceHolder>
</div>
</div>
</div>
</form>
</body>
这就是我在rptReport.ascx上看到的内容:
<%--Right Side--%>
<div id="rightCol" >
<div class="elementHeader" id="elementHeader">
<span class="text"><asp:Label ID="lblReports" runat="server" Text="Reports"></asp:Label></span>
</div>
<div id="divRightWrapper" class="rightWrapperDiv" runat="server">
<div>
<img id="imgCaseGlobalReports" runat="server" alt="" src="~/Images/Replacements/IncidentReports.png"/>
</div>
</div>
</div>
FindControl的工作方式是匹配
名称
属性,而不是匹配源文件的相对路径。在第一次调用FindControl时它是正确的,但是第二次调用是不正确的。实际上,它与id
属性值匹配,而不是Name
.Me.Master.FindControl(“RightContent”),直到这里工作正常,但是如何将ascx设置为false可见rptReport
控件在代码中的位置?你能给我看看吗?我修改了我的问题。。。我的rptReport是位于以下路径中的ascx:“/Controls/Reports/rptReport.ascx”
<%--Right Side--%>
<div id="rightCol" >
<div class="elementHeader" id="elementHeader">
<span class="text"><asp:Label ID="lblReports" runat="server" Text="Reports"></asp:Label></span>
</div>
<div id="divRightWrapper" class="rightWrapperDiv" runat="server">
<div>
<img id="imgCaseGlobalReports" runat="server" alt="" src="~/Images/Replacements/IncidentReports.png"/>
</div>
</div>
</div>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
RetrieveAllQueryStringParams()
If Not IsPostBack Then
GenerateDataSets()
GenerateLabels()
GenerateLinks()
GenerateControls()
GenerateOther()
End If
End Sub
Private Sub RetrieveAllQueryStringParams()
Try
If Not String.IsNullOrEmpty(Request.QueryString("SessionID")) Then
m_SessionID = Request.QueryString("SessionID")
m_qrptTOD = Request.QueryString("qrptTOD")
ElseIf Not String.IsNullOrEmpty(Session("SessionID")) Then
m_SessionID = Session("SessionID")
End If
If m_qrptTOD = "tod" Then
Me.Master.FindControl("RightContent").Page.FindControl("/Controls/Reports/rptReport.ascx").Visible = False
Me.Master.FindControl("RightContent").Controls.Add(Page.LoadControl(("/Controls/Reports/rptTimeOfDay.ascx")))
End If
Catch ex As Exception
End Try
End Sub
Protected Sub GenerateLinks()
Dim subTreeStatisticalReport As RadTreeNode = rtvReports.Nodes.FindNodeByValue("StatisticalReport")
Dim subTreeIncidentComparisons As RadTreeNode = rtvReports.Nodes.FindNodeByValue("IncidentComparisons")
Dim subTreeGeographicLocations As RadTreeNode = rtvReports.Nodes.FindNodeByValue("GeographicLocations")
Dim statTimeOfDayNode As RadTreeNode = subTreeStatisticalReport.Nodes.FindNodeByValue("TimeofDay")
Dim statTrendsNode As RadTreeNode = subTreeStatisticalReport.Nodes.FindNodeByValue("Trends")
Dim statTopSevenIncidents As RadTreeNode = subTreeStatisticalReport.Nodes.FindNodeByValue("Top7Incidents")
Dim statIncidentPerCategory As RadTreeNode = subTreeStatisticalReport.Nodes.FindNodeByValue("IncidentsPerCategory")
Dim compIncidentLoss As RadTreeNode = subTreeIncidentComparisons.Nodes.FindNodeByValue("IncidentLoss")
Dim GeoMaps As RadTreeNode = subTreeGeographicLocations.Nodes.FindNodeByValue("Maps")
statTimeOfDayNode.NavigateUrl = Globals.gRootRelativeSecureURL("/Reports/Reports.aspx?SessionID=" + m_SessionID + "&qrptTOD=tod")
End Sub