В действии контроллера Create, основанном на вводе пользователем, мы планируем заполнить объект модели некоторыми данными, чтобы минимизировать ввод данных:
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Create(Item item, string str)
{
// if only str is provided
if (string.IsNullOrEmpty(item.KeyInfo) && !string.IsNullOrEmpty(str))
{
Helpers.FillItemModel(item, str); //fill data
}
else if (ModelState.IsValid)
{
_context.Add(item);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Create));
}
return View(item);
}
Однако, хотя мы можем подтвердить объект itemзаполнены данными в нескольких полях путем установки точки останова в последней строке: return View(item)
, когда браузер получает ответ, все поля пусты.
Но если мы закомментируем весь сегмент кода,Оставьте только заявление о возврате и сделайте сообщение с некоторыми данными, которые были введены вручную, браузер получит правильные данные во всех полях.
Спасибо за ваше время.