Как построить объект C # из FormCollection со сложными ключами - PullRequest
2 голосов
/ 17 мая 2010

У меня есть объект 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 Ответ

1 голос
/ 17 мая 2010

Если вы можете изменить сторону javascript, чтобы вместо этого отправлять данные в формате json, я бы подумал, что вы можете либо принять строку и выполнить десериализацию json самостоятельно в контроллере, либо выполнить связывание модели для этого для тебя.

...