快速业务通道

ASP.NET多事件无刷新客户端回调

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21

      string[,] dog = GetParams("dog",function[0,1]);
      //---------对dog[0,0]操作开始------------

      //返回客户端的结果,有可能从多个方法返回,
      //所以也需要添加标记,好让客户端根据相应的标记进行相应的处理
      //这里function=Dog就是标记
      str += "function=Dog&";
      str += "这是小狗狗:" + dog[0, 0];
      //---------对dog[0,0]操作结束------------
    }
    //根据取出的function的值,执行相应的方法
    if (function[0,0] == "Rabbit")
    {
      string[,] rabbit = GetParams("rabbit", function[0, 1]);
      //---------对rabbit[0,0]操作结束------------
      str += "function=Rabbit&";
      str += "这是可爱小兔兔:" + rabbit[0, 0] + ";我最爱你了!";
      //---------对rabbit[0,0]操作结束------------
    }

  }
  /// <summary>
  /// ICallbackEventHandler接口要实现的方法,返回以控件为目标的回调事件的结果
  /// </summary>
  /// <returns>str:返回客户端的结果</returns>
  public string GetCallbackResult()
  {
    return str;
  }

  /// <summary>
  /// 对一串字符串处理,从字符串取出特定str的值,并返回截掉str的字符串,
  /// </summary>
  /// <param name="str">检查argument是否存在str,存在的话,取出str的值</param>
  /// <param name="argument">要处理的字符串</param>
  /// <returns>var[0,0]:参数str的值</returns>

 /// <returns>var[0,1]:截掉str的argument参数串</returns>
  protected string[,] GetParams(string str, string argument)
  {
    string[,] var =new string[1,2];
    if (argument.ToString().Trim() != "" && argument.Contains("&"))
    {
      string[] arr = argument.Split(''&'');//利用''&''分割字符串为字符串数组
      for (int i = 0; i < arr.Length; i++)
      {
        if (arr[i].Contains(str))
        {//检查argument是否存在str,存在的话,取出=两边的值
          string[] arrChild = arr[i].Split(''='');

          //判断=左边的值是否等于str,等于的话,把=号右的值赋给var[0,0];
          //把切除str=''value''的字符串赋给var[0,1]
          if (arrChild[0].ToString().Trim() == str)
          {
            var[0, 0] = arrChild[1];

            //切除str=''value''+&的长度
            //break:取出参数后,直接跳出循环,避免不必要的循环
            var[0, 1] = argument.Substring(arr[i].Length + 1); break;
          }
        }
      }
    }//字符串的最后一个参数的处理
    else if(argument.ToString().Trim() != "" && !argument.Contains("&"))
    {
      if (argument.Contains(str))
      {
        string[] arrChild = argument.Split(''='');
    

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号