Возникло необработанное исключение при обработке запроса при формировании структуры объекта.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Возникло необработанное исключение при обработке запроса при формировании структуры объекта.

Сообщение Anonymous »

Чтобы дать вам некоторый контекст:
В настоящее время я работаю над простой таблицей MVC со скаффолдом CRUD.
И у меня возникают проблемы при реализации связей.
Простые независимые таблицы работают нормально, это просто каркас модели и все.
Но когда я пытался реализовать связь следующим образом:

Код: Выделить всё

 public class Activo
{
public int id { get; set; }

[Required]
[StringLength(100)]
public string Marca { get; set; }

[Required]
[StringLength(100)]
public string Modelo { get; set; }
[Required]
[StringLength(100)]
public string Tarjeta_Video { get; set; }
public int? ID_Usuario { get; set; }
public int? ID_Procesador { get; set; }
public int? ID_Memoria { get; set; }
public int? ID_DiscoDuro { get; set; }

// Navigation properties
[ForeignKey("ID_Usuario")]
public virtual Usuario Usuario { get; set; }

[ForeignKey("ID_Procesador")]
public virtual Procesador Procesador { get; set; }

[ForeignKey("ID_Memoria")]
public virtual Memoria Memoria { get; set; }

[ForeignKey("ID_DiscoDuro")]
public virtual DiscoDuro DiscoDuro { get; set; }
}
Это обновленное управление с помощью лесов:

Код: Выделить всё

// GET: Activos/Create
public IActionResult Create()
{
ViewData["ID_DiscoDuro"] = new SelectList(_context.DiscoDuro, "id", "Marca");
ViewData["ID_Memoria"] = new SelectList(_context.Memoria, "id", "Marca");
ViewData["ID_Procesador"] = new SelectList(_context.Procesador, "id", "Marca");
ViewData["ID_Usuario"] = new SelectList(_context.Usuario, "id", "ApellidoMaterno");
return View();
}

// POST: Activos/Create
// To protect from overposting attacks, enable the specific properties you want to bind to.
// For more details, see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task Create([Bind("id,Marca,Modelo,Tarjeta_Video,ID_Usuario,ID_Procesador,ID_Memoria,ID_DiscoDuro")] Activo activo)
{
if (ModelState.IsValid)
{
_context.Add(activo);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
ViewData["ID_DiscoDuro"] = new SelectList(_context.DiscoDuro, "id", "Modelo", activo.ID_DiscoDuro);
ViewData["ID_Memoria"] = new SelectList(_context.Memoria, "id", "Modelo", activo.ID_Memoria);
ViewData["ID_Procesador"] = new SelectList(_context.Procesador, "id", "Modelo", activo.ID_Procesador);
ViewData["ID_Usuario"] = new SelectList(_context.Usuario, "id", "ApellidoMaterno", activo.ID_Usuario);
return View(activo);
}
А это мое мнение: Итак, идея довольно проста, по крайней мере, я так думал. Я просто хотел получить данные на контроллерах, которые затем отправят их в представления через ViewData, который будет использоваться через объект ViewBag. И это в некоторой степени работает.
Когда я пытаюсь создать Activo, он позволяет мне открыть раскрывающийся список и просмотреть все доступные данные, находящиеся в таблицах Memoria, DiscoDuro и т. д.Но как только я нажимаю «Создать», появляется эта ошибка:

Код: Выделить всё

An unhandled exception occurred while processing the request.
NullReferenceException: Object reference not set to an instance of an object.

Microsoft.AspNetCore.Mvc.Rendering.MultiSelectList.GetListItemsWithValueField()
Я попробовал изменить способ отправки данных. Но я просто не могу это исправить. Я также читал в каком-то сообщении, что эта проблема может быть связана с тем, что сообщение HTTP имеет то же имя, что и другие. Это не тот случай, когда я не использую раскрывающееся меню, то есть я просто жестко ввожу идентификатор, они работают.
Это заставило меня поверить, что проблема в том, как я их использую. значения.
Я знаю, что, вероятно, он неправильно захватывает входное значение, но, поскольку я новичок в Razor Pages и MVC, я просто не могу на всю жизнь понять, что я делаю, и пока один, как это исправить. . Я просто чувствую себя потерянным.
Я буду очень признателен за любые рекомендации по исправлению, повторному решению этой проблемы или просто какой-либо способ сделать это проще, выполнимее или просто лучше.
Спасибо, что уделили время.

Подробнее здесь: https://stackoverflow.com/questions/791 ... folding-an
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»