我在后台程序中把我的数据库表里面所有的信息都读出来;我返回的是一个泛型;
  1、我想用AJAX读出这些数据;
  2、AJAX读出来后,怎么用JS接收;
  3、怎么把JS接受好了的数据做为数据源(可能不是数据源吧)传给前台页面绑定的地方(可能是repeater或是DATALIST)

解决方案 »

  1.   

    参见例子
    http://dotnet.aspx.cc/article/d94323a7-e322-4ead-9f25-6e6629c8012e/read.aspx
      

  2.   

    其实repeater生成后也是Html,这样可以在后台把数据组成HtmL格式的,然后Ajax接收,直接给到repeater的innerhtml属性
      

  3.   

    ajax 请求的页面 ,Response.Write 出要的结果, 然后通过 Ajax 获取返回值
      

  4.   

    你用AJAX请求的数据,自己定义一下,如需要更新用户信息,1,userid,username|2,userid,username|,在绑定时用JS解读数据格式,
      

  5.   

    不用js不能直接往服务器控件上绑数据源的,你可以写个专门的js方法,然后用获取的服务器端返回信息,拼成列表
      

  6.   

    myBlog
      

  7.   

    把你返回的用json序列化,3.5以上的有自带的
    2.0的去下个Newtonsoft.Json.dll
      

  8.   


    我对AJAX只是了解个皮毛而已;不知道这个JSON要怎么用啊,能给我一个详细点的例子吗?
      

  9.   


      <script type="text/javascript">
           $(document).ready(function(){
                $.ajax({
                    url:"Handler.ashx",
                    type:"get",
                    dataType:"json",
                    success:function(result){
                        $.each(result,function(i){
                            $("body").append("ID:"+result[i].ID+" Name:"+result[i].Name+"<br/>");
                        })
                    }
                })
           })
        </script>
     public void ProcessRequest (HttpContext context) {
            context.Response.ContentType = "text/plain";
            string[] name = { "zhangsan", "lisi", "wangwu" };
            System.Collections.Generic.IList<Model> ilist = new System.Collections.Generic.List<Model>();
            for (int i = 0; i < name.Length; i++)
            {
                Model model = new Model();
                model.ID = i + 1;
                model.Name = name[i];
                ilist.Add(model);
            }
            //如果是2.0的去下个Newtonsoft.Json.dll如果是3.0的里面有自带的JavaScriptSerializer或DataContractJsonSerializer 
            string json = Newtonsoft.Json.JavaScriptConvert.SerializeObject(ilist);
            context.Response.Write(json);
        }
        public class Model
        {
            private int iD;        public int ID
            {
                get { return iD; }
                set { iD = value; }
            }
            private string name;        public string Name
            {
                get { return name; }
                set { name = value; }
            }
        }
      

  10.   

    ajax请求后返回一个json对象,然后在后台将这个json 对象序列化成一个数据源。。再绑定
      

  11.   


    哦,那我这个读出来JS接收后,我怎么把它做为一个数据源传给REPEATER呢
      

  12.   

    <head runat="server">
        <title>无标题页</title>
        <script type="text/javascript" src="jquery-1.3.2.min.js"></script>
        <script type="text/javascript">
           $(document).ready(function(){
                $.ajax({
                    url:"Handler.ashx",
                    type:"get",
                    dataType:"json",
                    success:function(result){
                        $.each(result,function(i){
                            $("#zz").append("<tr><td>"+result[i].ID+"</td><td>"+result[i].Name+"</td></tr>");
                        })
                    }
                })
           })
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Repeater ID="Repeater1" runat="server">
                <HeaderTemplate>
                    <table id="zz">
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td>
                            <%#Eval("ID") %>
                        </td>
                        <td>
                            <%#Eval("Name") %>
                        </td>
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table></FooterTemplate>
            </asp:Repeater>
        </div>
        </form>
    </body>
      

  13.   

    查处数据后直接用Json格式输出,单个控件的直接$(".name").val(data.name);如果是多数据的话,那用直接HTML输出,一样还是for循环返回的date中的数据,显示页面上什么空间都不用,直接搞个<table>就OK了。
      

  14.   

    用ajax读取的数据,给服务器控件绑定(repeater),lz想做什么啊?
      

  15.   

    1.把你的泛型转成xml或json数据类型的
    2.前台通过ajax请求获得数据
    3.得到数据后再用js操作dom,显示数据。(这里就不能用服务器控件了)http://blog.csdn.net/bestdowt1314/archive/2009/08/17/4457298.aspx
    可以看下这里的实例
      

  16.   


      repeater
      生成的数据是很干净的 楼主 既然想用ajax的话 那么就把返回的数据在后台拼接好就是· 
      前台直接加到容器里面· 
      

  17.   

    我用的是VS2008   为什么
    //如果是2.0的去下个Newtonsoft.Json.dll如果是3.0的里面有自带的JavaScriptSerializer或DataContractJsonSerializer 
           string json = Newtonsoft.Json.JavaScriptConvert.SerializeObject(ilist);上面这句话,写在里面后会找不到命名空间啊,还有就是Json到底是什么命名空间啊
      

  18.   

    添加一个一般处理程序 读出来用json 接受
      

  19.   

    <asp:DataList ID="dlstShow" runat="server" RepeatColumns="4">
                                                <HeaderTemplate>
                                                <ul id="zz">
                                                </HeaderTemplate>
                                                    <ItemTemplate>
                                                    <li>
                                                        <div class="screnInproOne">
                                                            <a href="#">
                                                                <img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
                                                                    <a href="#">
                                                                        <%# Eval("LName")%></a></p>
                                                        </div>
                                                        <div class="screnInproOne">
                                                            <a href="#">
                                                                <img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
                                                                    <a href="#">
                                                                        <%# Eval("lName")%></a></p>
                                                        </div>
                                                        <div class="screnInproOne">
                                                            <a href="#">
                                                                <img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
                                                                    <a href="#">
                                                                        <%# Eval("lName")%></a></p>
                                                        </div>
                                                        <div class="screnInproOne">
                                                            <a href="#">
                                                                <img src="../AdvertImages/<%# Eval("imgUrl") %>" class="mb10" /></a><p>
                                                                    <a href="#">
                                                                        <%# Eval("lName")%></a></p>
                                                        </div>
                                                    </li>
                                                </ItemTemplate>
                                            </asp:DataList>上面是我要绑定的代码;而且我在一般处理程序里面也写好了; 代码如下:
     [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        public class ZjLine : IHttpHandler
        {        public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                List<LineZj> lst = new List<LineZj>();
                string sqlSelect = "select l.LineInfoId,l.lineTitle,l.HistoryImage from lineInfo as l  inner join  Category as c  on l.CategoryId=c.CategoryId where isSearch='True' and isEffect='True' and CategoryName='自驾游' ";
                SqlDataReader dr = DbSqlHelper.ExecuteReader(sqlSelect);
                while (dr.Read())
                {
                    LineZj zj = new LineZj();
                    zj.LName = dr["lineTitle"].ToString();
                    zj.ImgUrl = dr["HistoryImage"].ToString();
                    lst.Add(zj);
                }
                dr.Close();
                JavaScriptSerializer ser = new JavaScriptSerializer();
                context.Response.Write(ser.Serialize(lst));
            }
        }
    可是我现在不知道前台怎么接收;JSON啊,各位请帮我看看,以我HTML里面这样的写,前台要怎么接受啊
      

  20.   

    解析jeson数据
    <script language="javascript">
    var sug = {q:"张",p:false,s:["张杰","张敬轩","张翰","张柏芝","张馨予","张芸京","张靓颖","张静初","张杰谢娜","张韶涵"]};
    window.onload = function () {
    alert(sug["s"][1]);   //张敬轩"
    }
    </script>