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.
If you can change the javascript side so you're sending in a json version of the data instead, I would think you could either accept a string and do a json deserialization yourself in the controller or do a model binder to do it for you.
来源:https://stackoverflow.com/questions/2845304/how-to-build-c-sharp-object-from-a-formcollection-with-complex-keys