首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

给定关键字不在字典中?该如何处理

2013-06-26 
给定关键字不在字典中?用C#网页 做手机支付宝功能,用RSA签名结果支付宝接口 接入的时候出错SortedDictiona

给定关键字不在字典中?
用C#网页 做手机支付宝功能,用RSA签名
结果  支付宝接口 接入的时候出错


SortedDictionary<string, string> sd = new SortedDictionary<string, string>();
        int count = 0;
        string sparam = "";
        string key = "";
        string value = "";
        for (int i = 0; i < result.Length; i++)
        {
            sparam = result[i];
            count = sparam.IndexOf('=');
            key = sparam.Substring(0, count);
            value = sparam.Substring(count + 1, sparam.Length - (count + 1));
            sd.Add(key, value);
        }
       //  出错  给定关键字不在字典中?
        string sign = sd["sign"];

        //配置待签名数据
        Dictionary<string, string> dicData = MobileFunction.FilterPara(sd);
        string req_Data = MobileFunction.CreateLinkString(dicData);

有人知道为什么
[解决办法]
那就是 sd 字典中没有 key为sign 的咯

[解决办法]
count = sparam.IndexOf('=');==>count = sparam.IndexOf('=') - 1;  
或者
key = sparam.Substring(0, count); ==>key = sparam.Substring(0, count-1); 
[解决办法]
请求数据参数和网址返回数据是两回事. 也许请求返回结果中并不包含那个属性

热点排行