function doTest1() 
      {
  
   My.GetDataSet(_callback1);
  
     }
  
  function _callback1(res) {

    var cols = res.value.Tables[0].Columns.length;
    var rows = res.value.Tables[0].Rows.length;
}其他代码略,运行时,提示value.Table[0].Columns.length为空或不是对象, 如果把  var cols = res.value.Tables[0].Columns.length;这行代码注释掉的话,可以正常返回rows的值,错在哪,
急,帮帮忙!!~——~~

解决方案 »

  1.   

    后台: [Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
            public static DataSet  GetDataSet()
            {
                DataSet ds = new DataSet();
                SqlConnection conn = new SqlConnection("server=.;database=my;uid=sa;pwd=2002;");
                conn.Open();            SqlDataAdapter sda = new SqlDataAdapter("select * from my", conn);
                sda.Fill(ds);
              
                return ds;
            }
    前台:function doTest1() 
          {
      
       My.GetDataSet(_callback1);
      
         }
      
      function _callback1(res) {

        var cols = res.value.Tables[0].Columns.length;
        var rows = res.value.Tables[0].Rows.length;
    }
    ......<input id="Button2" type="button" value="button" onclick="doTest1();" />
      

  2.   

    按照你的代码,如果点击Button2时会运行doTest1(),在doTest1()中调用函数_callback1,但是你的这个_callback1方法要有一个输入参数呀,可是在My.GetDataSet(_callback1);这里并没有传入这个参数呀
      

  3.   

    这个ref就是 My.GetDataSet(_callback1)返回的的那个DataSet对象啊
     
    不好意思,我也是刚学Ajax,我是这样理解的,
      

  4.   

    ajax.net 应该不返回table的列信息
      

  5.   

    参考
    http://singlepine.cnblogs.com/articles/257954.html
    http://news.csdn.net/news/newstopic/28/28204.shtml