Web API Form Data Collection

后端 未结 3 699
梦毁少年i
梦毁少年i 2020-12-11 01:59

I\'m trying to post form serialized values to controller (Web API Self Host). I cannot understand why the NameValueCollection is not correctly bound. Client-side using jQuer

相关标签:
3条回答
  • 2020-12-11 02:47

    Thanks Scott. Your answer was just what I needed. Based on it, I wrote the following little utility method that will come in handy as it pulls all the data values out of the stream (using the FormDataCollection) and puts them into a NamedValueCollection (which you can access in any order you want).

    /// <summary>
    /// Copy the values contained in the given FormDataCollection into 
    /// a NameValueCollection instance.
    /// </summary>
    /// <param name="formDataCollection">The FormDataCollection instance. (required, but can be empty)</param>
    /// <returns>The NameValueCollection. Never returned null, but may be empty.</returns>
    public static NameValueCollection Convert(FormDataCollection formDataCollection)
    {
        Validate.IsNotNull("formDataCollection", formDataCollection);
    
        IEnumerator<KeyValuePair<string, string>> pairs = formDataCollection.GetEnumerator();
    
        NameValueCollection collection = new NameValueCollection();
    
        while (pairs.MoveNext())
        {
            KeyValuePair<string, string> pair = pairs.Current;
    
            collection.Add(pair.Key, pair.Value);
        }
    
        return collection
     }
    
    0 讨论(0)
  • 2020-12-11 02:48

    Or you can use the build "ReadAsNameValueCollection", like this :

    NameValueCollection MyNameValueCollection = formData.ReadAsNameValueCollection();
    
    0 讨论(0)
  • 2020-12-11 02:55

    Instead of NameValueCollection, try FormDataCollection.

    http://weblogs.asp.net/cibrax/archive/2012/08/10/binding-form-data-in-asp-net-web-api.aspx

    0 讨论(0)
提交回复
热议问题