刚开始学Ajax,就遇到了一些麻烦,做了几个例子老是调用不到服务端的过程。就连这个简单的例子也一样。
.aspx.cs代码:
        [Ajax.AjaxMethod]
        public string test()
        {
            string sql = "select ";
            return sql;
        }
.aspx代码:
function proct(){
AjaxMethod.test(CallBack);
}
function CallBack(vv){
alert(vv.value);
}
<input id="Button2" type="button" value="button" language="javascript" onclick="proct()" />为什么出现提示框的内容老是“null”啊?应该是“select ”才对啊。

解决方案 »

  1.   

    说明一下我有引用ajax.dll,且定义Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod));
      

  2.   

    1.最好新建类*.cs,不要用.aspx.cs
     2.在web.config中建立HttpHandler(这个当然是在system.web串里的)
    <httpHandlers>
    <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers> 
      3.在Global的Application_Start里加上个设置
    protected void Application_Start(Object sender, EventArgs e)
    {
     Ajax.Utility.HandlerPath = "ajax";
    }
      

  3.   

    AJAX.NET对2.O的核心支持不是很好,有很多BUG.作者正在改正。
    可以考虑用ATLAS,它只能支持2。0,但兼容行很好,比较完善了。微软做的东西,用再它自己的产品上,应该有一定的技术优势呢。
      

  4.   

    我现在新建了一个类AjaxMethod.CS。
    namespace AjaxTest
    {
        public partial class AjaxMethod : System.Web.UI.Page
        {
            [Ajax.AjaxMethod]
            public string test()
            {
                string sql = "select ";
                return sql;
            }
        }
    }
    可是我在调用时,AjaxTest.AjaxMethod.test(CallBack);老是出现说AjaxTest“未定义”为什么,还要什么设置吗?
    AjaxMethod.CS我是放在与*.aspx同级目录文件夹App_Code下的。
      

  5.   

    function proct(){
    命名空间.类名.test(CallBack);
    }
      

  6.   

    为什么要用ajaxpro呢 asp.net2.0本身就有无刷回调功能啊,如果要功能强大的可以用ATLAS啊
    ajaxpro只不过在2003的时候用用而已啊