我在后台定义了一个类
public class Company
{
    public Company() { }
    private int id;    public int Id
    {
        get { return id; }
        set { id = value; }
    }
    private int count;    public int Count
    {
        get { return count; }
        set { count = value; }
    }
}
然后一个方法 
public ArrayList CountCom()
    {
        Company c ;
        ArrayList arr = new ArrayList();
        IList<Tb_Company> list_tb_company = Tb_CompanyManager.GetAllTb_Companies();
        foreach (Tb_Company tb in list_tb_company)
        {
            c = new Company();
            c.Id = tb.Id;
            c.Count = Tb_TakeOverManager.GetCountS_T(tb.Id,Convert.ToInt32(this.hidden1.Value.ToString()));
            arr.Add(c);
        }
        return arr;
    }
返回一个 array
这样我在前台js里面怎么调用,

解决方案 »

  1.   

    代码懒得看了,不过估计是用AJAX吧,那就用response.write输出js构造数组的代码,数据用后代取得的填充.在js用eval执行,就可以了.如 response.write("arr = new Array(这里是你自己的数据)")
      

  2.   

    用AJAX方法
    或转成字符串输出到前台页面
      

  3.   

    ajaxpro.2.dll解决问题,然后用可以考虑方法返回xml
      

  4.   

     可以放到session中,
      然后前台从session中取。 
      

  5.   

    定义一个 public static ArrayList arr;
    然后前台取 
      

  6.   

    AJAX是可以搞定的啊,你可以看看微软的ajax客户端编程。
      

  7.   


    <script  type="text/javascript">
    function $(id){if (typeof id =='object')return id;return document.getElementById(id);}
        function StudentResult ()
        { 
           
             var BigClass = $("<%=BigClass.ClientID %>"); 
             Admin_A_manage.getAllStudents(BigClass.value,get_Student_Result_CallBack);
        }
        function get_Student_Result_CallBack(response)
        {
       
              if (response.value != null)
              {                    
                    $("<%=SmallClass.ClientID %>").length=0;                 
                var ds = response.value;
                    if(ds != null && typeof(ds) == "object" && ds.Tables != null)
                   {
                        // document.all("SmallClass").options.add(new Option("请选择", "0"));//有时不用选择二级栏目,则选择该值
                    
                         for(var i=0; i<ds.Tables[0].Rows.length; i++)
                        {
                             var name=ds.Tables[0].Rows[i].SClassName;
                             var id=ds.Tables[0].Rows[i].id;
                             $("<%=SmallClass.ClientID %>").options.add(new Option(name,id));
                        }
                   }
             }
        }</script>
    上面是js获取后台的方法
    .cs文件
      AjaxPro.Utility.RegisterTypeForAjax(typeof(Admin_A_manage), this);//对AjaxPro在页Page_Load事件中进行运行时注册,Admin_A_manage指该页面
     [AjaxPro.AjaxMethod]
        //[AjaxPro.AjaxMethod]是定义AjaxPro可调用的方法,是必须要注明的 
        public DataSet getAllStudents(int BClassID)
        {
            string sqlstr = "select * from SmallClass where BClassID = " + BClassID;
            ArticleBll bll = new ArticleBll();
            DataSet dr = bll.GetAllSmallClass(sqlstr);
            return dr;
        }
    看看,和你的意思一样不,就是这个返回的是个dataset,你换成arraylist就OK了,但是具体细节,就的你自己去获取了
      

  8.   

    ajax   要不用《%=%》也行
      

  9.   

    用ajaxpro.2,很好的解决,很方便,可以实现js和后台代码很好的交互性