How to build C# object from a FormCollection with complex keys

Posted by ob on Stack Overflow See other posts from Stack Overflow or by ob
Published on 2010-05-16T20:18:25Z Indexed on 2010/05/16 20:20 UTC
Read the original article Hit count: 366

Filed under:
|
|
|

i have a javascript object, obj, that gets passed to an mvc action via a $.post() like so:

var obj = {
    Items: [{ Text: "", Value: { Property1: "", Property2: "" },
            { Text: "", Value: { Property1: "", Property2: "" }]
};
$.post('MyAction', obj, function() {});

the action signature looks like this:

public ActionResult MyAction(FormCollection collection)
{
}

i need to be able to build an object from the FormCollection, however i'm running into an issue where the keys are in the form:

"Items[0][Text]"
"Items[0][Value][Property1]"
"Items[0][Value][Property2]"
"Items[1][Text]"
"Items[1][Value][Property1]"
"Items[1][Value][Property2]"

i'm wondering if there's a clean way to build the desired C# object from the given FormCollection. i understand that i could change the action method signature to take in the type of object i'm interested in, but that was presenting its own issues.

© Stack Overflow or respective owner

Related posts about c#

Related posts about asp.net-mvc