zoukankan      html  css  js  c++  java
  • 1.1用crystal 2008 和Ajax.dll 5.7.22.2冲突

    enc这个方Ajax一般会在 xxxxx.ashx里生成 一句服务器[AjaxMethod()]的方法,例如

    AddToCustomFavorite:function(type,menuID,callback,context){return new ajax_request(this.url + '?_method=AddToCustomFavorite&_session=r','type=' + enc(type)+ '\r\nmenuID=' + enc(menuID),callback, context);},

    里面调用了enc这个方法,这个方法在ajax/common.ashx

    function enc(s)
    {
        return s.toString().replace(/\%/g, "%26").replace(/=/g, "%3D");
    }

    而crystalreportviews/allinone.js也有一个enc

    function enc()
    // Encode several values
    // Variable number of parameters
    {
        var args=enc.arguments,len=args.length,s='['
        if (len>0) s+=args[0]
        for (var i=1;i<len;i++) s+=','+args[i]
        return s+']'
    }

    ------------------------------------

    造成冲突,Ajax调用到crystal的enc里,每一个传入的值都会加上 []

     ---------------

    靠服务端去出吧,服务端csharp代码大概如此,去[],每个ajax的参数都要去除[]
            public static string AdjustStringParameter(string source)
            {
                string resultValue;
                if (source.StartsWith("[") && source.EndsWith("]"))
                {
                    int len = source.Length;

                    resultValue  = source.Substring(1,len -2 );
                }
                else
                {
                    resultValue = source;
                }
                return resultValue;
            }

  • 相关阅读:
    创建Graphics对象与Pen对象
    GDI+图形图像处理技术——GDIPlus绘图基础
    WPF的组成架构
    文件监控只FileSystemWatcher控件
    文件夹选择之FolderBrowserDialog控件
    SaveFileDialog控件
    文件选择之OpenFileDialog控件
    编码与解码
    写一个翻译小工具
    【转】字符集与字符编码简介
  • 原文地址:https://www.cnblogs.com/peteryu007/p/1740040.html
Copyright © 2011-2022 走看看