asp.net 中的错误树视图
Error Treeview in asp.net
帮帮我!
这段代码有什么问题
TreeNode 中的错误 ParentNode = new TreeNode(children);
public partial class ViewTree : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
List<TreeNode> childs = new List<TreeNode>();
foreach (String s in nodeStr)
{
childs.Add(new TreeNode(s));
}
TreeNode[] children = childs.ToArray();
TreeNode ParentNode = new TreeNode(children);
TreeViewMenu.Nodes.Add(ParentNode);
}
}
基于 MSDN TreeNode
构造函数没有 TreeNode[]
参数,所以我想您在尝试使用不存在的功能时遇到了并发症错误。如果要为该节点指定子节点,您需要执行以下操作:
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
TreeNode ParentNode = new TreeNode();
foreach (String s in nodeStr)
{
TreeNode childNode = new TreeNode(s);
// sample of adding child nodes
string[] valuee = new string[] { "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb", "cccccccccccccccccc", "dddddddddddddddddd", "eeeeeeeeeeeeeeeeee" };
foreach(string c in valuee)
{
childNode.ChildNodes.Add(new TreeNode(c));
}
ParentNode.ChildNodes.Add(childNode);
}
TreeViewMenu.Nodes.Add(ParentNode);
更新
我添加了为父节点中的每个子节点添加相同值的示例
更新2
以下是用户单击“展开”节点后如何在运行时添加项目的示例。
ASPX 内容:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<asp:TreeView ID="TreeViewMenu" runat="server" OnTreeNodePopulate="TreeViewMenu_OnTreeNodePopulate" ExpandDepth="1">
</asp:TreeView>
CS内容:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
TreeNode ParentNode = new TreeNode();
foreach (String s in nodeStr)
{
TreeNode node = new TreeNode(s);
node.PopulateOnDemand = true;
ParentNode.ChildNodes.Add(node);
}
TreeViewMenu.Nodes.Add(ParentNode);
}
}
protected void TreeViewMenu_OnTreeNodePopulate(object sender, TreeNodeEventArgs e)
{
string[] value = new string[] { "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb", "cccccccccccccccccc", "dddddddddddddddddd", "eeeeeeeeeeeeeeeeee" };
foreach (var v in value)
{
e.Node.ChildNodes.Add(new TreeNode(v));
}
}
}
帮帮我! 这段代码有什么问题 TreeNode 中的错误 ParentNode = new TreeNode(children);
public partial class ViewTree : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
List<TreeNode> childs = new List<TreeNode>();
foreach (String s in nodeStr)
{
childs.Add(new TreeNode(s));
}
TreeNode[] children = childs.ToArray();
TreeNode ParentNode = new TreeNode(children);
TreeViewMenu.Nodes.Add(ParentNode);
}
}
基于 MSDN TreeNode
构造函数没有 TreeNode[]
参数,所以我想您在尝试使用不存在的功能时遇到了并发症错误。如果要为该节点指定子节点,您需要执行以下操作:
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
TreeNode ParentNode = new TreeNode();
foreach (String s in nodeStr)
{
TreeNode childNode = new TreeNode(s);
// sample of adding child nodes
string[] valuee = new string[] { "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb", "cccccccccccccccccc", "dddddddddddddddddd", "eeeeeeeeeeeeeeeeee" };
foreach(string c in valuee)
{
childNode.ChildNodes.Add(new TreeNode(c));
}
ParentNode.ChildNodes.Add(childNode);
}
TreeViewMenu.Nodes.Add(ParentNode);
更新
我添加了为父节点中的每个子节点添加相同值的示例
更新2
以下是用户单击“展开”节点后如何在运行时添加项目的示例。
ASPX 内容:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<asp:TreeView ID="TreeViewMenu" runat="server" OnTreeNodePopulate="TreeViewMenu_OnTreeNodePopulate" ExpandDepth="1">
</asp:TreeView>
CS内容:
public partial class _Default : Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
String[] nodeStr = { "Puasa", "Puasa Sunah", "Ramadhan", "Puasa Kamis", "Puasa Senin" };
TreeNode ParentNode = new TreeNode();
foreach (String s in nodeStr)
{
TreeNode node = new TreeNode(s);
node.PopulateOnDemand = true;
ParentNode.ChildNodes.Add(node);
}
TreeViewMenu.Nodes.Add(ParentNode);
}
}
protected void TreeViewMenu_OnTreeNodePopulate(object sender, TreeNodeEventArgs e)
{
string[] value = new string[] { "aaaaaaaaaaaaaaaaaa", "bbbbbbbbbbbbbbbbbb", "cccccccccccccccccc", "dddddddddddddddddd", "eeeeeeeeeeeeeeeeee" };
foreach (var v in value)
{
e.Node.ChildNodes.Add(new TreeNode(v));
}
}
}