Wednesday 20 September 2017

Extract key/values from FormCollection in ASP.NET MVC action method

It took me a while to find this out.  To avoid you from having to chase for the same information: here's how you extract key / value pairs from the FormCollection that comes as an argument in an ASP.NET MVC action method:

public ActionResult Create(FormCollection formCollection)
{

   foreach (var key in formCollection.AllKeys)
   {
      var value = formCollection[key];
      // etc.
   }

   foreach (var key in formCollection.Keys)
   {
       var value = formCollection[key.ToString()];
       // etc.
   }
}
Also, a final tip: If you find that the formCollection does not contain the key/value pairs you expected, check that 
  1. Your controls reside within the correct form (you can have more than one)
  2. Your controls have names (just having an id is not returning values in the formCollection)
Hope this helps. 

No comments:

Post a Comment

Note: only a member of this blog may post a comment.

Blog Archive