给定关键字不在字典中?
用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);
[解决办法]
请求数据参数和网址返回数据是两回事. 也许请求返回结果中并不包含那个属性