=波波日志 > Asp.Net/C#/WCF > ajaxpro2属性AjaxPro.AjaxNamespace使用=

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();
类别:Asp.Net/C#/WCF 作者:波波 日期:2011-06-22 【评论:0】 
 
暂时没有评论!
发表留言
  • *昵称:
  • 头像:
  • 电子邮件: [留下您的邮件,方便管理员回复您。]
  • 个人网站: *验证码:
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载或引用的作品侵犯了您的权利,请通知我们,我们会及时删除!
Powered by showbo,©2012,桂ICP备05005887号 京公网安备1101055090