[英]Treeview not working in C# asp.NET
我正在尝试从根目录中的文件夹(称为Folders )构建文件和文件夹的树状视图。
我的C#代码是:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
public class Default2: Seisan.DefaultTemplate
{
protected void Page_Load(object sender, EventArgs e){
if (!this.IsPostBack){
DirectoryInfo rootInfo = new DirectoryInfo(Server.MapPath("~/Folders/"));
this.PopulateTreeView(rootInfo, null);
}
}
private void PopulateTreeView(DirectoryInfo dirInfo, TreeNode treeNode)
{
foreach (DirectoryInfo directory in dirInfo.GetDirectories())
{
TreeNode directoryNode = new TreeNode(directory.Name, directory.FullName);
if (treeNode == null)
{
TreeView.Nodes.Add(directoryNode);
}
else
{
treeNode.ChildNodes.Add(directoryNode);
}
//Get all files in the Directory.
foreach (FileInfo file in directory.GetFiles())
{
TreeNode fileNode = new TreeNode(file.Name, file.FullName, "_blank", (new Uri(Server.MapPath("~/"))).MakeRelativeUri(new Uri(file.FullName)).ToString());
directoryNode.ChildNodes.Add(fileNode);
}
PopulateTreeView(directory, directoryNode);
}
}
我的树视图的asp.Net代码是:
<asp:TreeView ID="TreeView" runat="server" ImageSet="XPFileExplorer" NodeIndent="15">
<HoverNodeStyle Font-Underline="True" ForeColor="#6666AA" />
<NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="Black" HorizontalPadding="2px" NodeSpacing="0px" VerticalPadding="2px"></NodeStyle>
<ParentNodeStyle Font-Bold="False" />
<SelectedNodeStyle BackColor="#B5B5B5" Font-Underline="False" HorizontalPadding="0px"
VerticalPadding="0px" />
</asp:TreeView>
运行时出现此错误:
编译错误
说明:编译服务于此请求所需的资源期间发生错误。 请查看以下特定的错误详细信息,并适当地修改您的源代码。
编译器错误消息:CS0120:非静态字段,方法或属性'System.Web.UI.WebControls.TreeView.Nodes.get'需要对象引用
源错误:
第43行:{
第44行: TreeView.Nodes.Add(directoryNode);
第45行:}
第46行:其他
Treeview是以asp.Net形式声明的。 我不知道这是怎么回事。 任何帮助是极大的赞赏。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.