別の Web ページからマスター ページにある ASP.Net TreeView を操作したいと考えています。
このコーディングは、マスター ページ Web フォームのコード ビハインド ファイルからのものです。別の Web ページのコード ビハインド ファイルの Page_Load イベントでこのコーディングを複製したいと考えています。このコーディングを他の Web フォームで使用しようとすると、
objTreeView = Knowledge_Academy1.loginView.FindControl("TreeViewMain")
loginView が保護されていることを示すエラーが表示されます。同じコーディングを複製できるように、保護を解除するにはどうすればよいですか?
マスター Web フォーム分離コード ファイルからの作業コーディングは次のとおりです。
Public Class Knowledge_Academy1
Inherits System.Web.UI.MasterPage
Protected Sub TreeViewMain_TreeNodeExpanded(sender As Object, e As TreeNodeEventArgs)
Dim objTreeView As TreeView
objTreeView = loginView.FindControl("TreeViewMain")
Select Case e.Node.Text
Case "Maintenance"
' Make sure all nodes except for Maintenance are collapsed.
'----------------------------------------------------------
For Each treenode As TreeNode In objTreeView.Nodes
If treenode.Text = "Parents" Or
treenode.Text = "Students" Or
treenode.Text = "Financial" Then
treenode.Collapse()
End If
Next treenode
Case "Students"
' Make sure all nodes except for Students are collapsed.
'-------------------------------------------------------
For Each treenode As TreeNode In objTreeView.Nodes
If treenode.Text = "Parents" Or
treenode.Text = "Maintenance" Or
treenode.Text = "Financial" Then
treenode.Collapse()
End If
Next treenode
Case "Parents"
' Make sure all nodes except for Parents are collapsed.
'------------------------------------------------------
For Each treenode As TreeNode In objTreeView.Nodes
If treenode.Text = "Students" Or
treenode.Text = "Maintenance" Or
treenode.Text = "Financial" Then
treenode.Collapse()
End If
Next treenode
Case "Financial"
' Make sure all nodes except for Financial are collapsed.
'--------------------------------------------------------
For Each treenode As TreeNode In objTreeView.Nodes
If treenode.Text = "Parents" Or
treenode.Text = "Maintenance" Or
treenode.Text = "Students" Then
treenode.Collapse()
End If
Next treenode
Case Else
End Select
End Sub