我想在客户端做一个类似ajaxpro中的dataset类,将xmlhttp取回的xml对象,实例化成这个dataset类的对象。这样客户端取值就比较方便。
   ajaxpro的实现方法没看懂,好像是用prototype库实现的,prototype库太复杂了,根本看不明白。
    代码量应该不大,主要是怎么实现,代码我自己写,各位大哥能不能提供点参考什么的。    我开始想用对象的prototype属性来实现,但是js不支持二级属性吧。比如    function Dataset(){ }
    Dataset.prototype.Tables="Table1";
    Dataset.Tables.prototype.Rows=""; //这样的就不支持了而且Tables属性还不能是数组,反正问题比较多,有做过的给点意见,分不够可以加。

解决方案 »

  1.   

    如何不支持????DataRows=function(){
    //  定义类
    }
    DataRows.prototype.add=function(){}
    //........定义方法Dataset.Tables.prototype.Rows=""; //这样的就不支持了-〉
    Dataset.Tables.prototype.Rows=new Rows();OK
      

  2.   

    Dataset.Tables.prototype.Rows=new Rows();笔误Dataset.Tables.prototype.Rows=new DataRows();
      

  3.   

    楼上的,能不能写的稍微详细点。
    我就是想实现
    var dt=new DataSet();
    var str=dt.Tables[0].Rows[0].myColTitleTables是dataset的属性,Rows是Tables的属性,myColTitle是列名(不同的表不一样),
    要是能实现,我再开贴给一百分。
      

  4.   

    好象不行吧,JS是客户端执行的,DATASET是服务器端运行的,
    期待高手吧
      

  5.   

    dataset序列化xml,然后js操作xml
      

  6.   

    嫌js操作xml有点麻烦,想把客户端的xml实例化成一个javascript对象。ajaxpro就是这么做的,但是他怎么写的那个dataset对象,没看懂。
      

  7.   

    javascript中的DataSet和在.NET Framework里的DataSet又不太相同。在它里面要差看一个DataTable中有几行数据要用ds.Tables[0].Rows.length(只能用Tables[下标],而不能用Tables["表名"],其他集合也是一样),而不能用
    ds.Tables[0].Rows.Count。我一直也都没搞懂。在javascript中为什么可以操作DataSet.暂时我只在WindowsXP上测试过。不知道不装.NET Framework还行不行。而且再传回服务器端就不是DataSet了。传回服务器后是一个DbNull。
      

  8.   

    晕,不是在js中操作DataSet。
    就是在js端写一个类似DataSet的类,我把传回来的XML文件实例化成这个类的对象。
    这样取值什么的比较方便。
    关键是javascript怎么写一个带多层子属性的类