ASP TreeView:所有节点都具有相同的 ID
ASP TreeView: All nodes have the same ID
我目前正在编写一个自定义 Web 表单控件,其中包括一个嵌入式 TreeView 控件。此 TreeView 控件的内容是这样以编程方式生成的:
public void PopulateTreeView(TreeView treeView)
{
// Initialize with a single root node.
treeView.Nodes.Clear();
TreeNode currentNode = new TreeNode("root");
treeView.Nodes.Add(currentNode);
// Some logic with basically a depth first search through some data classes.
{
TreeNode node = new TreeNode(/* node label */);
currentNode.ChildNodes.Add(node);
if ( /* some condition */)
{
currentNode = node;
}
}
}
渲染时,一切看起来都很好,除了生成的所有 HTML 元素的 ID 是 ControlName1n0,其效果是单击 expand/collapse 图标只会 expand/collapse 根节点。
有谁知道这是什么原因或如何解决这个问题?
从 Render method to the OnPreRender 方法移动代码以创建 TreeNodes 解决了问题;现在所有节点都有一个唯一的 ID。
我目前正在编写一个自定义 Web 表单控件,其中包括一个嵌入式 TreeView 控件。此 TreeView 控件的内容是这样以编程方式生成的:
public void PopulateTreeView(TreeView treeView)
{
// Initialize with a single root node.
treeView.Nodes.Clear();
TreeNode currentNode = new TreeNode("root");
treeView.Nodes.Add(currentNode);
// Some logic with basically a depth first search through some data classes.
{
TreeNode node = new TreeNode(/* node label */);
currentNode.ChildNodes.Add(node);
if ( /* some condition */)
{
currentNode = node;
}
}
}
渲染时,一切看起来都很好,除了生成的所有 HTML 元素的 ID 是 ControlName1n0,其效果是单击 expand/collapse 图标只会 expand/collapse 根节点。
有谁知道这是什么原因或如何解决这个问题?
从 Render method to the OnPreRender 方法移动代码以创建 TreeNodes 解决了问题;现在所有节点都有一个唯一的 ID。