Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MVC 3中具有多级加载的异步JQuery TreeView不工作_Jquery_Ajax_Asp.net Mvc 3 - Fatal编程技术网

MVC 3中具有多级加载的异步JQuery TreeView不工作

MVC 3中具有多级加载的异步JQuery TreeView不工作,jquery,ajax,asp.net-mvc-3,Jquery,Ajax,Asp.net Mvc 3,我正在使用MVC 3、jQuery、jQuery.treeview.js和jQuery.treeview.async.js异步加载和创建treeview。这是一个两级树状视图,零件类型为顶层,然后零件为第二级。我有以下TreeViewNode类 public class TreeViewNode { public TreeViewNode[] children { get; set; } public string classes { get; set; } publ

我正在使用MVC 3、jQuery、jQuery.treeview.js和jQuery.treeview.async.js异步加载和创建treeview。这是一个两级树状视图,零件类型为顶层,然后零件为第二级。我有以下TreeViewNode类

public class TreeViewNode
{
    public TreeViewNode[] children { get; set; }

    public string classes { get; set; }

    public bool expanded { get; set; }

    public bool hasChildren { get; set; }

    public string id { get; set; }

    public string text { get; set; }
}
控制器是

public ActionResult PartTypes(string root)
    {
        var nodes = new List<TreeViewNode>();

        if(root == "source")
        {
            var partTypes = ris.PartTypes.ToList().OrderBy(pt => pt.Name);

            foreach (var partType in partTypes)
            {
                nodes.Add(new TreeViewNode {
                        text = partType.Name,
                        id = partType.Name,
                        hasChildren = true
                    });
            }
        }
        else
        {
            var parts = ris.Parts.Where(p => p.PartType.Name == root).ToList();
            foreach (var part in parts)
            {
                nodes.Add(new TreeViewNode {
                        text = part.SerialNumber,
                        id = part.SerialNumber
                    });
            }
        }
        return Json(nodes);
    }
而且HTML很简单

<ul id="navigation" class="treeview"/>

    页面加载时,将加载所有零件类型并将其加载展开。即使单击单个零件类型链接,也不会加载零件。当您展开其中一种零件类型时,我如何让零件类型加载折叠后再加载零件名称。

    我看不出您是否使用了正确的Java脚本

    jquery-treeview-async-0.1.0.js和jquery-treeview-1.4.0.min.js


    您能检查一下吗,因为这可能是问题所在?

    尝试在控制器顶部添加[HtppPost]

    [HtppPost]
    

    public ActionResult PartTypes(string root)

    我最终选择了jstree,因为它有更好的文档,我可以让它工作。这很可能是答案,但由于更好的文档,我决定切换库,所以我无法真正测试答案并将其标记为正确。
    [HtppPost]