繁体   English   中英

Treeview在C#asp.net中不起作用

[英]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形式声明的。 我不知道这是怎么回事。 任何帮助是极大的赞赏。 谢谢

Server.MapPath("~/Folders/") 

在ASP.NET项目内寻找一个名为Folders的文件夹:

Web应用程序项目内的Folders文件夹

我所做的只是确保我的项目中有该文件夹以及几个子文件夹,并且该文件夹工作正常:

在浏览器中的输出:

ASP.NET TreeView控件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM