@VanilaSpirit

C# ASP.NET. Почему не передается модель?

Формирую объект на js:
var modelTitle = "пример";           
var obj = {
                    Name: "lalala",
                    Age: 3,
                    Count: 4
                };


Делаю POST
$.post("@Url.Action("Create", "User")",
                {
                    title: modelTitle,
                    model: JSON.stringify(obj)
                });

Принимаю в контроллере:
public void Create(string title, User model)
        {

        }


Но до контроллера не доходит сама модель(model= null, хотя title доходит). Поля Name/Age/Count одинаковы что там что там.

Что еще можно попробовать?
  • Вопрос задан
  • 53 просмотра
Пригласить эксперта
Ответы на вопрос 1
@cicatrix
было бы большой ошибкой думать
Через веб-запрос передаётся только СТРОКА (string).
public void Create(string title, User model)
Что за тип User? ASP.Net знает, как десериализовать тот JSON, что вы передаёте в тип User?
Вы передаёте строку (JSON.stringify), а хотите получить какой-то объект. Замените на:
public void Create(string title, <b>string</b>model)

В model прилетит строка с JSON, уже внутри контроллера парсите и создаёте нужный объект.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы