ajaxpro2属性AjaxPro.AjaxNamespace使用

  ajaxpro2如果未使用AjaxPro.AjaxNamespace重新注册JavaScript脚本类库名称时,默认在客户端注册JavaScript类库名称就是后台代码cs中的类名称。

  当使用了AjaxPro.AjaxNamespace来注册新的名字空间后,就得使用新注册的名字空间来调用AjaxPro.AjaxMethod注册的方法,而不是默认的cs文件中的类名称,使用AjaxPro.AjaxNamespace后,默认的类名称已经修改为AjaxPro.AjaxNamespace指定的名称。

示例代码如下
1)未使用AjaxPro.AjaxNamespace注册指定类库名称,默认使用“类名称.AjaxPro.AjaxMethod注册的方法名称()”来调用
+展开
-JavaScript
using System;
public partial class ajaxproStringInt : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproStringInt));
    }
   
    /// <summary>
    /// 带一个参数返回值为string
    /// </summary>
    /// <param name="other">其他字符参数</param>
    /// <returns></returns>
    [AjaxPro.AjaxMethod]
    public string Now(string other)
    {
        return DateTime.Now.ToString() + "--" + other;
    }
    /// <summary>
    /// 返回值为int的方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    [AjaxPro.AjaxMethod]
    public int Add(int a, int b)
    {
        return a + b;
    }
}

客户端注册的JavaScript类库代码如下
+展开
-JavaScript
addNamespace("ajaxproStringInt");
ajaxproStringInt_class = Class.create();
Object.extend(ajaxproStringInt_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
Now: function(other) {
return this.invoke("Now", {"other":other}, this.Now.getArguments().slice(1));
},
Add: function(a, b) {
return this.invoke("Add", {"a":a, "b":b}, this.Add.getArguments().slice(2));
},
initialize: function() {
this.url = '/ajaxpro/ajaxproStringInt,App_Web_9rfloywi.ashx';
}
}));
ajaxproStringInt = new ajaxproStringInt_class();


2)使用AjaxPro.AjaxNamespace指定客户端类库名称,需要使用“AjaxPro.AjaxNamespace注册的新类库名称.AjaxPro.AjaxMethod注册的方法名称()”来调用
+展开
-C#
using System;
[AjaxPro.AjaxNamespace("Ajaxmap")]//======================重新指定类库名称
public partial class ajaxproStringInt : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
            AjaxPro.Utility.RegisterTypeForAjax(typeof(ajaxproStringInt));
    }
   
    /// <summary>
    /// 带一个参数返回值为string
    /// </summary>
    /// <param name="other">其他字符参数</param>
    /// <returns></returns>
    [AjaxPro.AjaxMethod]
    public string Now(string other)
    {
        return DateTime.Now.ToString() + "--" + other;
    }
    /// <summary>
    /// 返回值为int的方法
    /// </summary>
    /// <param name="a"></param>
    /// <param name="b"></param>
    /// <returns></returns>
    [AjaxPro.AjaxMethod]
    public int Add(int a, int b)
    {
        return a + b;
    }
}

客户端注册的JavaScript类库代码如下
+展开
-JavaScript
Ajaxmap_class = Class.create();
Object.extend(Ajaxmap_class.prototype, Object.extend(new AjaxPro.AjaxClass(), {
Now: function(other) {
return this.invoke("Now", {"other":other}, this.Now.getArguments().slice(1));
},
Add: function(a, b) {
return this.invoke("Add", {"a":a, "b":b}, this.Add.getArguments().slice(2));
},
initialize: function() {
this.url = '/ajaxpro/ajaxproStringInt,App_Web_nn8i2hlt.ashx';
}
}));
Ajaxmap = new Ajaxmap_class();

加支付宝好友偷能量挖...


原创文章,转载请注明出处:ajaxpro2属性AjaxPro.AjaxNamespace使用

评论(0)Web开发网
阅读(191)喜欢(0)Asp.Net/C#/WCF