Ajax.Utility.RegisterTypeForAjax(typeof(...));

解决方案 »

  1.   

    用Ajax吗?可以说的具体点吗,我对ajax不是很了解
      

  2.   

    还有我的环境是asp.net 2.0的
      

  3.   

    http://www.xrss.cn/Dev/AJAX/2007102217069.Html
      

  4.   

    你可以考虑试试 jsonhttp://blog.csdn.net/SeerMi/archive/2008/04/10/2276183.aspx不知道.net 2.0的默认有没有相关的东西
      

  5.   

    用ajax可以,用.net的callback也可以(实际就是ajax), 把数组组成字符串提交回去也可以.
      

  6.   

    JS是在客户端.C#是在服务端...楼主要搞清楚最基本的概念...
    客户端的东西必须要提交了才会到服务端....提交的方式很多种.POST,GET,AJAX
      

  7.   

    自己写这个中转层.把数组post到业务层去,事实上可以直接把这个三维数组传到中间层的
    相关赋值再交给业务层去做.ls的ds都说到了,其实通俗点就是一个三层小结构
      

  8.   

    把js里的数值赋值给页面的隐藏控件,通过post传递给c#,我觉得9楼的很有见地,一针见血,首先你要搞清楚概念,客户端无法直接向服务器传值的,要通过中间层。
      

  9.   

    我只知道把这个3维数组转换成字符串,放到hiddenfield传回服务器端,请问大家有什么好方法把3维数据的结构传回来,可以方便的用a[1][2][3]的方式访问?
      

  10.   

    http://www.codingforums.com/archive/index.php/t-8104.html
      

  11.   

    方法1:用服务端控件。把数组处理为字符串写到一个服务端控件(runat="serve"),这样控件可以帮你完成提交,后台获取到字符串后就可以重新解析为数组。
    方法2:用AJAX。把数组处理为字符串使用Ajax提交到后台,在后台代码中用request.QueryString或request.Parms获取。
    推荐使用第二种方法。
    以下代码已测试,可供参考
    <html>
    <head>
    <title></title>
    </head>
    <script type="text/javascript">
    var aArr=[["a1","a2"],["b1","b2"],["c"]];//要传递的二维数组
    var str="";
    for(var i=0;i<=aArr.length-1;i++)//将数组处理为字符串
    {
      if(aArr[i].length && aArr[i].push) 
      {
          for(var j=0;j<=aArr[i].length-1;j++)
          {
            str+=aArr[i][j];
            if(j!=aArr[i].length-1) str+=",";
          }
      }
      else
        {str+=aArr[i];}
      if(i!=aArr.length-1) str+=";";
    }
    function loadXMLDoc()
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else
    {
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
      {
           alert(xmlhttp.responseText);
      }
    }
    xmlhttp.open("post","other.aspx?str="+str+"&type=arr",true);//str为传递的字符串,type为设置的标志
    xmlhttp.send();
    }
    </script>
    <body>
    <button id='btn' type="button" onclick="loadXMLDoc()">AJAX</button></body>
    </html>后台代码:
        public partial class other : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (Request.QueryString["type"] == "arr")//根据在url中设置的标志判断是否是匹配的回传
                {
                    string getString = Request.QueryString["str"];//getString即获取到的字符串
                    Response.Write(getString);//将获取到的字符串再写往客服端
                    Response.End();
                }
            }
        }