Я пытаюсь отправить объект в формате JSON на свой контроллер, однако свойства объекта кажутся нулевыми, а полезная нагрузка отправляется, просто в запросе не происходит никакого сопряжения данных. p>
Я не видел много недавних решений этой проблемы, в основном созданных более 10 лет назад, и надеялся, что кто-нибудь сможет привести меня к современному решению этой проблемы.
У меня есть модель:
public class Expenses
{
public int Id { get; set; }
public int Month { get; set; }
public int Week { get; set; }
public int CategoryId { get; set; }
[ForeignKey("CategoryId")]
public Category category { get; set; }
public float Amount { get; set; }
public string Date { get; set; }
public string Description { get; set; }
}
Подобный объект я создаю в JS
//create the object
let expense = {
id: "listOrder"+listOfExpensesCounter,
Month: formData.month,
Week: formData.week,
Type: category[0],
Amount: formData.amount === "" ? 0 : formData.amount,
Date: formData.date === "" ? getCurrentDate() : formData.date,
Description: formData.description
}
Затем я выполняю AJAX-вызов контроллера:
function ajaxCall(expense) {
const obj = JSON.stringify(expense);
$.ajax({
url:'/Expenses/Create',
// Type of Request
contentType: 'application/json; charset=utf-8',
type: "Post",
data: obj,
dataType: "json",
// Function to call when to
// request is ok
success: function (data) {},
// Error handling
error: function (error) {}
});
}
Мой контроллер:
[HttpPost]
public async Task Create(Expenses expense)
{
try
{
Expenses newExpense = new Expenses
{
Month = expense.Month,
Week = expense.Week,
CategoryId = expense.CategoryId,
Amount = expense.Amount,
Date = expense.Date,
Description = expense.Description
};
_db.expensesRepository.Add(newExpense);
_db.Save();
return this.Ok($"hello world");
}
catch (Exception e)
{
return this.Ok($"hello world error");
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... controller
ASP.NET – Как принять объект JSON в контроллере ⇐ C#
Место общения программистов C#
-
Anonymous
1716965408
Anonymous
Я пытаюсь отправить объект в формате JSON на свой контроллер, однако свойства объекта кажутся нулевыми, а полезная нагрузка отправляется, просто в запросе не происходит никакого сопряжения данных. p>
Я не видел много недавних решений этой проблемы, в основном созданных более 10 лет назад, и надеялся, что кто-нибудь сможет привести меня к современному решению этой проблемы.
У меня есть модель:
public class Expenses
{
public int Id { get; set; }
public int Month { get; set; }
public int Week { get; set; }
public int CategoryId { get; set; }
[ForeignKey("CategoryId")]
public Category category { get; set; }
public float Amount { get; set; }
public string Date { get; set; }
public string Description { get; set; }
}
Подобный объект я создаю в JS
//create the object
let expense = {
id: "listOrder"+listOfExpensesCounter,
Month: formData.month,
Week: formData.week,
Type: category[0],
Amount: formData.amount === "" ? 0 : formData.amount,
Date: formData.date === "" ? getCurrentDate() : formData.date,
Description: formData.description
}
Затем я выполняю AJAX-вызов контроллера:
function ajaxCall(expense) {
const obj = JSON.stringify(expense);
$.ajax({
url:'/Expenses/Create',
// Type of Request
contentType: 'application/json; charset=utf-8',
type: "Post",
data: obj,
dataType: "json",
// Function to call when to
// request is ok
success: function (data) {},
// Error handling
error: function (error) {}
});
}
Мой контроллер:
[HttpPost]
public async Task Create(Expenses expense)
{
try
{
Expenses newExpense = new Expenses
{
Month = expense.Month,
Week = expense.Week,
CategoryId = expense.CategoryId,
Amount = expense.Amount,
Date = expense.Date,
Description = expense.Description
};
_db.expensesRepository.Add(newExpense);
_db.Save();
return this.Ok($"hello world");
}
catch (Exception e)
{
return this.Ok($"hello world error");
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78545068/asp-net-how-to-accept-a-json-object-in-a-controller[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия