Проблема при реализации моделей в архитектуре ASP.NET MVC.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема при реализации моделей в архитектуре ASP.NET MVC.

Сообщение Anonymous »

Чтобы дать вам некоторый контекст.
Я пытался создать простое приложение ASP.NET MVC с использованием Razor страниц.
Теперь я поняли идею модели представления и то, как они используются для отображения данных на странице Razor.
Дело в том... Теперь я хочу использовать страницу Razor для создания значений, которые связаны между собой.
Пусть мне копнуть глубже. Сейчас у меня есть 2 класса: Personas (люди) и Hijos (дети). Идея проста.
У людей может быть много детей, но дети — это дети только одного родителя, в этом образе.
Я создал дисплей и еще одна страница, на которой отображаются сыновья этого человека, где все сказано и сделано.
Проблема заключается в том, что я пытаюсь создать дочерний элемент и подключить его к родителю.
Это соответствующие классы:

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

public class Persona
{
public int Id { get; set; }
public string Nombre { get; set; } = null!;
public string Apellido { get; set; } = null!;
public string Email { get; set; } = null!;
public string Telefono { get; set; } = null!;

//Hijo
public List? Hijos { get; set; }
}

public class Hijo
{
public int Id { get; set; }
public string Nombre { get; set; }
public DateOnly FechaNacimiento { get; set; } = DateOnly.FromDateTime(DateTime.Now);

//Navigation Properties
public int PersonaId { get; set; }
public Persona Persona { get; set; } = null!;
}
Я создал модель представления, которая выглядит следующим образом:

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

public class CrearHijoViewModel
{
public string Nombre { get; set; }

public DateOnly FechaNacimiento { get; set; }

public List
 Padres { get; set; }
}
В основном он содержит данные, которые будут отображаться в представлении создания.
Это контроллер:

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

[HttpPost]
public async Task Create(Hijo hijo)
{
Console.WriteLine(hijo);

if (ModelState.IsValid)
{
_context.Add(hijo);
await  _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}

var padres = await _context.Personas.ToListAsync();

var newCrearHijoModel = new CrearHijoViewModel
{
Nombre = hijo.Nombre,
FechaNacimiento = hijo.FechaNacimiento,
Padres = padres
};

return View(newCrearHijoModel);
}
А это форма:

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


Nombre


Fecha de Nacimiento



@foreach (var padre in Model.Padres)
{
@padre.Nombre @padre.Apellido
}



Как видите, это довольно простая идея. Я не уверен в своей реализации.
Проблема возникает, когда я пытаюсь отправить свои данные. Его отвергают. Я не уверен, что это потому, что я получаю модель Hijo, тогда как страница Razor имеет дело с CrearHijoViewModel.
Я понимаю, что это может быть проблемой, но если это.... Как это исправить?
Должен ли я создать новый объект Hijo и ввести его в контекст? Это моя модель представления или моя страница Razor неправильная?
Любая помощь или рекомендации очень ценятся!

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема при реализации моделей в архитектуре ASP.NET MVC.
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Проблема при реализации моделей в архитектуре MVC
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как добиться того же эффекта, что и ASP.Net MVC Server.Transfer в ASP.Net Core MVC?
    Anonymous » » в форуме C#
    0 Ответы
    98 Просмотры
    Последнее сообщение Anonymous
  • Как добиться того же эффекта, что и ASP.NET MVC Server.Transfer в ASP.NET Core MVC?
    Anonymous » » в форуме C#
    0 Ответы
    105 Просмотры
    Последнее сообщение Anonymous
  • Реализация выхода из Azure B2C в приложениях ASP.NET Core MVC и ASP.NET MVC.
    Anonymous » » в форуме C#
    0 Ответы
    109 Просмотры
    Последнее сообщение Anonymous

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