WEB开发网
开发学院网页设计JavaScript 对“打造基于jQuery的高性能TreeView”的扩展 阅读

对“打造基于jQuery的高性能TreeView”的扩展

 2009-10-28 00:00:00 来源:WEB开发网   
核心提示: 类很简单,大家看代码就明白了,对“打造基于jQuery的高性能TreeView”的扩展(2),为了模拟json的嵌套结构,在类中使用了一个 List<TreeItem> ChildNodes 来实现这种嵌套,如果子节点没有分配内存,则先分配后添加,第二步:为类添加相应的方法:要把类和

类很简单,大家看代码就明白了。为了模拟json的嵌套结构,在类中使用了一个 List<TreeItem> ChildNodes 来实现这种嵌套。

第二步:为类添加相应的方法:

要把类和成json 字符串,最简单的方法是使用 System.Web.Script.Serialization 命名空间中的 JavaScriptSerializer 类,知道这些就很简单了,我们为类 TreeItem 添加一个 ToJsonString() 的公有方法,代码如下:

    /**//// <summary>
    /// 生成 JSON 字符串,
    /// </summary>
    /// <returns></returns> 
    public string ToJsonString()
    {
        JavaScriptSerializer jss = new JavaScriptSerializer();
        string sJson = jss.Serialize(this);
        return "var treedata=[" + sJson  + "];";
    }

为了测试结果是否正确,可以写一个模拟测试的方法,看其输出。方法很简单,为了避免凑字之嫌,就不帖出来了,测试后生成的结果如下:

对“打造基于jQuery的高性能TreeView”的扩展

基本上和原文要求的json格式一致。但也发现了一个问题,当TreeView 类中 List<TreeItem> ChildNodes 没有数据时,添加子节点会出现 空引用的错误 ,如果在构造函数中先 new 一下的话,不会报错,但生成的 json 中 ChildNodes为[],而原来要求的是:ChildNodes:null。这个问题很好办:加上一个方法,来添加子节点,如果子节点没有分配内存,则先分配后添加,这样可以保证有子项时不会报错,没有子项时能生成 null.方法代码如下:

上一页  1 2 3 4 5 6 7  下一页

Tags:打造 基于 jQuery

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接