Как построить объект C# из FormCollection со сложными ключами
У меня есть объект javascript, obj
, который передается действию mvc через $.post() следующим образом:
var obj = {
Items: [{ Text: "", Value: { Property1: "", Property2: "" },
{ Text: "", Value: { Property1: "", Property2: "" }]
};
$.post('MyAction', obj, function() {});
подпись действия выглядит так:
public ActionResult MyAction(FormCollection collection)
{
}
мне нужно быть в состоянии построить объект из FormCollection
, однако я сталкиваюсь с проблемой, где ключи находятся в форме:
"Items[0][Text]"
"Items[0][Value][Property1]"
"Items[0][Value][Property2]"
"Items[1][Text]"
"Items[1][Value][Property1]"
"Items[1][Value][Property2]"
мне интересно, есть ли чистый способ построить нужный объект C# из заданного FormCollection
, Я понимаю, что мог бы изменить сигнатуру метода действия, чтобы взять интересующий меня тип объекта, но это представляло свои собственные проблемы.
1 ответ
Если вы можете изменить сторону javascript, чтобы вместо этого отправлять данные в формате json, я бы подумал, что вы можете либо принять строку и выполнить десериализацию json самостоятельно в контроллере, либо создать связыватель модели, чтобы сделать это для вас.