Задать вопрос
@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 одинаковы что там что там.

Что еще можно попробовать?
  • Вопрос задан
  • 72 просмотра
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ответы на вопрос 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, уже внутри контроллера парсите и создаёте нужный объект.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы