7
votes

ASP.NET-MVC Obtenez un dictionnaire dans la post-action ou comment transformer la formeCollection dans un dictionnaire

Tout le monde sait comment transformer le formulaire (code> dans un identificateur ou comment obtenir un identificateur dans l'action postale?


0 commentaires

4 Réponses :


2
votes

Je l'ai fait comme ceci:

            var form = new Dictionary<string, string>();
            foreach (var key in formCollection.AllKeys)
            {
                var value = formCollection[key];
                form.Add(key, value);
            }


0 commentaires

19
votes

Ceci est juste un équivalent du code de Omnu, mais cela me semble plus élégant:

Dictionary<string, string> form = formCollection.AllKeys.ToDictionary(k => k, v => formCollection[v]);


2 commentaires

Je pense que c'est une question de style, je pense personnellement que le code de l'OMU est un peu plus verbeux, mais il est plus facile de voir ce qui se passe.


Préférez cette solution, beaucoup NATCHE



0
votes
    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);
            }
        }

0 commentaires

1
votes

sur .NET CORE Celui-ci a travaillé pour moi. XXX


0 commentaires