1
有没有办法可以将FormCollection
表格复制到ExpandoObject
?FormCollection to expandoObject
我会从第三方公司获得帖子。其他第三方将使用get,它们都以一个需要动态输入参数的方法结束。
谢谢!
有没有办法可以将FormCollection
表格复制到ExpandoObject
?FormCollection to expandoObject
我会从第三方公司获得帖子。其他第三方将使用get,它们都以一个需要动态输入参数的方法结束。
谢谢!
嘛,不是最优雅的代码(可能是更好的方法来做到这一点),但一种方式可能是这样的:
[HttpPost]
public ActionResult Test(FormCollection collection)
{
dynamic expando = new ExpandoObject();
var dictionary = (IDictionary<string, object>) expando;
foreach (var item in collection.AllKeys.ToDictionary(key => key, value => collection[value]))
{
dictionary.Add(item.Key, item.Value);
}
// your expando will be populated here ...
// do awesomeness
}
我希望这有助于(至少它可能会给你一个想法) 。
我希望有更优雅的东西。如果没有人提出类似于一个在线(或两个)的东西,我会在几天后接受你的回答。 – Andreas
为什么这个foreach?为什么不只是:dictionary = collection.AllKeys.ToDictionary(key => key,value => collection [value]); – Andreas
由于字典实际上是expando,所以您需要复制其中的数据,您可以将其转换回实际的expando。 –