我正在学习如何访问 ASP.Net 母版页的控件并尝试扩展特定的 TreeView 节点。我正在从另一个不是母版页的页面执行此操作。
objContentPlaceHolder、objLoginView 和 objTreeView 都具有使用调试器确认的值。
你能看看这段代码,让我们知道为什么 for 循环中的代码没有执行吗?它到达了 for 循环,但此时只是跳过了 for 循环。
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objContentPlaceHolder As ContentPlaceHolder
Dim objLoginView As LoginView
Dim objTreeView As TreeView
objContentPlaceHolder = CType(Master.FindControl("ContentPlaceHolderBody"), ContentPlaceHolder)
If Not objContentPlaceHolder Is Nothing Then
objLoginView = CType(objContentPlaceHolder.FindControl("loginViewMain"), LoginView)
If Not objLoginView Is Nothing Then
objTreeView = CType(objLoginView.FindControl("TreeViewMain"), TreeView)
' Make sure all nodes for Maintenance are expanded.
'--------------------------------------------------
For Each treenode As TreeNode In objTreeView.Nodes
If treenode.Text = "Maintenance" Then
treenode.Expand()
End If
Next treenode
End If
End If
End Sub
* 更新 *
我将页面加载事件处理程序更改为 PreRenderComplete 事件处理程序,您认为它有效吗?不知道为什么 PreRender 没有,但就是这样。再次感谢大家的帮助。