哪位高手给个例子,在客户端调用cs里面的方法,并获取返回的值,在线等待急

解决方案 »

  1.   

    2008的话。。可以用jquery+WebMethod直接做了~
      

  2.   

        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(GetType());   }      [AjaxPro.AjaxMethod]
        public string ResurnContent(string pic)
        {
            BJProduct Product = new BJProduct();
            Product.PictureUrl = pic;
            WebManager.GetInfo(Product, "&pictureurl=");        return Server.HtmlDecode(Product.Content).ToString();
        }
    function ChangeImg(obj)
    {
    var img1=document.getElementById('img1');
    img1.src=obj;
    ASP.hcbz_aspx.ResurnContent(obj,callback)
    }
    function callback(res)
    {
      if(res!=null)
      {
        document.getElementById('div1').innerHTML=res.value;
      }
    }
    function ShowPic()
    {
      document.getElementById('img1').src='<%=Pic1 %>';
      ASP.hcbz_aspx.ResurnContent('<%=Pic1 %>',callback)
    }
      

  3.   

    记得web-config
    加<httpHandlers>
    <add path="ajaxpro/*.ashx" verb="POST,GET" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2" />
    </httpHandlers>
      

  4.   

    see~http://encosia.com/2008/05/29/using-jquery-to-directly-call-aspnet-ajax-page-methods/
      

  5.   

    html             function change(obj)
                {
                    
                    var arr = MemberData1.FunAjax(obj.value).value;
                    if(    arr =="0")
                    {
                        document.getElementById('lblShow').style.display ='block';
                        document.getElementById('lblShow').innerText = '此帳號已經存在';
                    }        
                    else
                    {
                        document.getElementById('lblShow').style.display ='none';
                    }    
                }
    cs
    private void Page_Load(object sender, System.EventArgs e)
            ...{            if (! Page.IsPostBack)
                ...{    
                    Ajax.Utility.RegisterTypeForAjax(typeof(MemberData1));//MemberData1中为页面的类名称
                    this.TextGAccount.Attributes.Add("onchange","javascript:change(this);");
                    
                    InitailData();//新增會員                if (Request["callback"] != null && Request["callback"].ToString() == "3")
                    ...{
                  
                        Response.Write(BindAreaByAjax(Convert.ToInt16(Request["CityID"])));
                        Response.End();
                   
                    }
                }
            }
            //帳號驗證
            [Ajax.AjaxMethod()] 
            public static string FunAjax(string GAccount)
            ...{
                GuestCenter gct =new GuestCenter();
                DataTable tab = gct.GSTA_SelMemberByGAcount(GAccount);            if(tab.Rows.Count!=0)
                ...{
                    return "0";                    //帳號存在
                }
                return "1";            //帳號不存在
            }
    建立HttpHandler,在web.config里面加上<configuration><system.web><httpHandlers><add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" /></httpHandlers> <system.web></configuration>
    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fuda_1985/archive/2008/05/16/2452282.aspx记得加上ajax.dll
      

  6.   

    ajaxpro使用
    http://hi.baidu.com/yingchun_02/blog/item/8a5ba43eec3587eb54e723fb.html
      

  7.   

    demo url:http://mosesofegypt.net/file.axd?file=GridViewDrillDownJQueryAjax.rar
      

  8.   

    百度ajaxpro2.dll
    ajax.dll
    有下载的。。
      

  9.   


    http://download.csdn.net/source/258423
      

  10.   

    C# code     protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                AjaxPro.Utility.RegisterTypeForAjax(typeof(Default3));
            }
        }
        [AjaxPro.AjaxMethod]
        public string getString(string str) { return str + "Say: hello my friends"; }
    JScript code
    <script>
        function ss() {var str=document.getElementById("<%=TextBox1.ClientID%>").value;
        var res=getString(str);
        alert(res.value);}
    </script>
    <body>
        <form id="form1" runat="server">
        <div>
        <asp:TextBox ID="TextBox1" runat="server" Text="nima"></asp:TextBox>
        <div id="asp" onclick="ss()">ss</div>
            <asp:Label ID="s" runat="server" Text="ss"></asp:Label>
        </div>
        </form>
    </body>
    还是不可以哦
      

  11.   

    这个函数这么写
    <script> 
        function ss() {var str=document.getElementById("TextBox1").value; 
        var res=getString(str); 
        alert(res.value);} 
    </script> 
     [AjaxPro.AjaxMethod()] 
        public string getString(string str) { return str + "Say: hello my friends"; } 
    看看吧。还有就是项目名称别用中文的。
      

  12.   

    他调用不到getString()方法啊
      

  13.   

    ASP.NET AJAX的话,
    1,服务器端方法必须是static静态方法;
    2,<asp:ScriptManager ... EnablePageMethods="true">
    3,js里
    PageMethods.方法名(参数列表,回调方法名); 
    这样调用.function 回调方法名(result)
    {
       alert(result); //显示结果.
    }
      

  14.   

    忘了还有一条:
    服务器端静态方法用[System.Web.Services.WebMethod]标注.网上搜出来的:
    -----------------------------------------------
    Page Method 方式如果不想独立创建Web Service,而只是希望能够调用页面上的一些方法,那么可以采用Page Method的的方法。同样的我们添加一个页面PageMethodDemo.aspx,增加一些JavaScript和一个后台方法,注意这个方法必须是静态方法,代码如下:<script type="text/javascript"> 
    function PageMethodCall() 
    {
        var testString = "PageMethodCall"; 
        PageMethods.Test($get('txtName').value, OnSucceeded);
    }
    // 页面方法调用完成的回调函数.
    function OnSucceeded(result)
    {
        // 显示调用结果
        var RsltElem = document.getElementById("Results");
        RsltElem.innerHTML = result;
    }
    </script>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <div>
        <h2>Page Method</h2>
        <input ID="txtName" type="text" />
        <button id="Button1" 
            onclick="PageMethodCall();">调用Page Method</button>
    </div>
    <hr/>        
    <div>
        <span id="Results"></span>
    </div> 
    </form>
    代码页PageMethodDemo.aspx.cs[System.Web.Services.WebMethod]
    public static string Test(string name)
    {
        return "Hello " + name + "!";
      

  15.   

    使用ajax.dll不需要一定是静态的啊我一直用这个,没问题。接我说的做的。楼主,你报没报js错误?如果没报,看看项目名称是不是带着中文。别用中文名称。