0

我正面临这个问题。我将请求表单作为字符串传递给 Web 服务,然后在其中尝试获取该字符串中的数据。我想我可以通过搜索每个子字符串来解决它,但我想知道是否有一种方法可以像 Request.Form 那样创建一个集合。

谢谢!!

你是对的,davenewza,对不起

字符串基本上看起来像这样

title_1=Mr&initials_1=James&surname_1=Smith&title_2=Mr&initials_2=Harry&surname_2=Smith&Address=TestAddress&City=Surrey&

虽然完全贴出来会太长,但就是这样,只是传递ToString一个RequestForm的结果,而我想得到的是initials_1,surname_1,initials_2,Address的实际值.....所以最简单的方法是如果我可以将它转换回字典,不是吗?但不知道是否可以

4

1 回答 1

0

像这样的事情应该这样做

string request = ...
Dictionary<string,string> param = new Dictionary<string,string>();
request.Split('&')
       .Select(o => o.Split('='))
       .ToList()
       .ForEach(p => param.Add(p[0],p[1])
);

但是你必须确保只有参数只出现一次。否则,你可以做 p => param[p[0]] = p[1],然后你会替换以前的版本......如果你想保留它们,你需要一个 Dictionary>

于 2012-07-05T13:54:21.593 回答