FormCollection到expandoObject

时间:2013-06-24 12:30:38

标签: c# asp.net-mvc

我有没有办法将FormCollection表单复制到ExpandoObject

我会收到第三方公司的帖子。其他第三方将使用get,它们都以一个采用动态输入参数的方法结束。

谢谢!

1 个答案:

答案 0 :(得分:3)

嗯,不是最优雅的代码(可能是更好的方法),但有一种方法可能是这样的:

[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
}

我希望这有帮助(至少它可能会给你一个想法)。