[AjaxPro.AjaxMethod]
    public void societypaging()
    {
        PagedDataSource ps = new PagedDataSource();
        OleDbConnection myconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0;data source=|datadirectory|\news.mdb");
        myconn.Open();
        OleDbDataAdapter myAdapter = new OleDbDataAdapter("select top 8 * from society order by datatime desc", myconn);
        DataSet myDataset = new DataSet();
        myAdapter.Fill(myDataset, "society");
        ps.DataSource = myDataset.Tables[0].DefaultView;
        ps.AllowPaging = true;
        ps.PageSize = 8;
        DataList1.DataSource = ps;
        DataList1.DataKeyField = "id";
        DataList1.DataBind();
    }
怎么在JS中调用执行这个方法,让它更新datalist中的数据,在线等,求指点

解决方案 »

  1.   

    这个方法写在webservice里,然后可以通过js调用
      

  2.   

    AJAX不就可以了吗?
    用JSON交换数据
      

  3.   

    web service using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;namespace WebApplication1
    {
        /// <summary>
        /// Summary description for WebService1
        /// </summary>
        [WebService(Namespace = "http://tempuri.org/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
        [System.Web.Script.Services.ScriptService]
        public class WebService1 : System.Web.Services.WebService
        {        [WebMethod]
            public string HelloWorld()
            {
                return "Hello World";
            }
        }
    }
      

  4.   

    Page<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
        CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %><asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
    </asp:Content>
    <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
        <input type="button" value="Test" onclick="sayHello();" />    <asp:ScriptManager ID="scriptManager1" runat="server" EnablePageMethods="true">
            <Services>
                <asp:ServiceReference Path="~/WebService1.asmx" />
            </Services>
        </asp:ScriptManager>    <script type="text/javascript">
            function sayHello() {
                WebApplication1.WebService1.HelloWorld(show);
            }        function show(word) {
                alert(word);
            }
        </script>
      

  5.   

     WebApplication1.WebService1.HelloWorld(show);  //show是回调函数给你几个参考吧http://blog.csdn.net/justlovepro/article/details/2489209
    http://www.cnblogs.com/huangxue/archive/2011/12/12/2284981.html
    http://www.cnblogs.com/jackyzhou/archive/2009/04/29/1445870.html
      

  6.   

    js调用iframe就可以,不用那么复杂吧
      

  7.   

    PageMethod 可以简单实现,网上搜一下怎么用的吧,很简单的
      

  8.   

    各们,我试过了,在js中_Default.societypaging()来调用这个方法,但是他不会执行对数据库及datalist的操作,如果我设置一个返回值,也可以返回.如果可以的话,麻烦各位具体一点的代码,网上那些普遍的方法我都用,但都不能实现,不知道是不是我学的太差了.
      

  9.   

     <script type="text/javascript">
             function aa() {
                 var vCaller = '<%=societypaging() %>';
                 // alert(vCaller);
             }    </script>
    我把这段代码放在head标签之件,页面加载的时候就执行对datalist的操作,放在外部JS文件中,想通过事件来触发,却不行了,求解.:(
      

  10.   

    AjaxPro根本不支持asp.net的页面刷新机制,顶多只能用它从程序返回一点数据。想要刷新页面上的控件,需要使用asp.net ajax。
      

  11.   

    这些所谓的ajax方法,跟asp.net ajax中的调用web service是一样的,我把它美其名曰“轻量级方法”。实际上就是说它根本不支持asp.net页面刷新,给它一个好听的名字。asp.net ajax自身支持方便的UpdatePanel控件机制和轻松调用web service两种ajax方法,因此它是完整的。而其它所谓的ajax方法,基本上全都是后者,你在看那些ajax的宣传时不要被其迷惑了。
      

  12.   

    楼主你解决问题了吗?我也出现这个问题了!_Default.getDataBind(myxx, myyy);  在js里面调用  ,然后后台方法执行到DataList1.DataSource = ds;这一步时,就出现未将对象初始化!求各位大侠帮帮忙!谢谢!