ASP.NET MVC5中的树视图

时间:2014-07-15 10:59:05

标签: asp.net-mvc-5 jstree razorengine

我需要在asp.net mvc5框架中为递归输出创建一个树视图。 这是我的模型类

public class ProcSearchModel
{
    /// <summary>
    /// 
    /// </summary>

    public string TableName { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public string  DirectoryPath { get; set; }

    /// <summary>
    /// 
    /// </summary>
    public List<string> ProceduresName { get; set; }

 //   public List<ProcSearchModel> = 
}

将结果列表存储在ProceduresName列表中。 现在,对于列表中的每个过程名称,其中都有另一个名称列表。我需要填充树视图..

目前这是我的控制器功能:

    public ActionResult SearchProcedure(ProcSearchModel procSearchModel)
    {
        List<string> lstString = new List<string>();
        //if (procSearchModel != null)
        //{
            try
            {
                var txtFiles = Directory.EnumerateFiles(procSearchModel.DirectoryPath, "*.sql", SearchOption.AllDirectories);

                // pattern to capture the Stored procedue name
              //  string cpattern = @"(CREATE PROCEDURE|ALTER PROCEDURE)\s*(?<proc_name>(\w|_|\[|\]|\.)*)(.|\n)*" + procSearchModel.TableName;
                string cPattern = @"(CREATE PROCEDURE|ALTER PROCEDURE)\s*(?<proc_name>(\w|_|\[|\]|\.)*)";
                string tPattern = procSearchModel.TableName;


                foreach (string currentFile in txtFiles)
                {

                    string content = System.IO.File.ReadAllText(currentFile);

                    if(Regex.IsMatch(content,tPattern,RegexOptions.IgnoreCase) && Regex.IsMatch(content,cPattern,RegexOptions.IgnoreCase))
                    {
                        Match match = Regex.Match(content, cPattern, RegexOptions.IgnoreCase);
                        lstString.Add(match.Groups["proc_name"].Value);


                    }
                }

                procSearchModel.ProceduresName = lstString;
            }

            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }
        //}

        return View(procSearchModel);
    }

现在,plz帮助我如何使用jstree插件使用嵌套列表填充树视图

1 个答案:

答案 0 :(得分:0)

在层次结构中根据需要创建节点(或对象)的递归节点结构,并将它们链接到树中。然后在树中传递该对象

     class dummyObject{
        int num;
        String data;
        List<dummyObject> d = new List<dummyObject>();     
     }

使用这种类的对象来创建层次结构,然后将它们传递给jstree(http://www.jstree.com/)插件调用..... Rest将完成插件。