问题
anybody knows how to transform the FormCollection
into a IDictionary
or how to get a IDictionary
in the post action ?
回答1:
This is just an equivalent of Omnu's code, but it seems more elegant to me:
Dictionary<string, string> form = formCollection.AllKeys.ToDictionary(k => k, v => formCollection[v]);
回答2:
I did it like this:
var form = new Dictionary<string, string>();
foreach (var key in formCollection.AllKeys)
{
var value = formCollection[key];
form.Add(key, value);
}
回答3:
public static IDictionary<string, string[]> GetFormParameters(FormCollection collection)
{
IDictionary<string, string[]> formParameters = new Dictionary<string, string[]>();
foreach (var key in collection.AllKeys)
{
if (key == null) continue;
var value = collection.GetValues(key);
// value = CrossSiteAttackUtil.CleanHtml(value);
if (value != null)
{
formParameters.Add(key, value);
}
}
来源:https://stackoverflow.com/questions/2764837/asp-net-mvc-get-a-dictionary-in-post-action-or-how-to-transform-formcollection-i