kozmikadam Ответов: 1

Asp.net MVC от одного вида к двум моделям


Всем привет,

Я новичок в MVC. И я учусь этому здесь. Но у меня есть вопрос о моделях и представлении.
Теперь у меня есть 2 таблицы в моей БД.

Студенты
ID - - - имя- - - фамилия - - - курс

Курсы
ID-курсы

И у меня есть форма в моем представлении создания :

Имя-Фамилия-Курс

Теперь я могу добавить с помощью Create view в таблицу Students a student. Но в то же время я хочу добавить текст курса в свою таблицу курсов.

Вот мой контроллер :


public ActionResult Create([Bind(Include = "student_id,name,surname,course")] student student)
     {
         if (ModelState.IsValid)
         {

             db.student.Add(student);
             db.SaveChanges();
             return RedirectToAction("Index");
         }

         return View(student);
     }


Что я уже пробовал:

Я искал codeproject об этом, но ничего не нашел.

1 Ответов

Рейтинг:
0

Dave Kreskowiak

В представление можно отправить только одну модель.

Итак, создайте еще один класс модели представления, который включает свойства данных для обеих таблиц, по одному свойству для каждой.


kozmikadam

Привет Дэйв,
Я пытаюсь понять, теперь в моей БД у меня есть 2 таблицы, как я уже сказал. И все модели создаются автоматически после того, как я подключаюсь к своей БД.

Например, я хочу добавить одно и то же значение, как курс, в две таблицы с одной формой. Вы сказали создать еще один MVC, который включает в себя данные курса дважды ?

Извините, я действительно Новичок в этом деле.

Dave Kreskowiak

Нет, я сказал создать еще один класс модели представления. Тот, который содержит все данные, необходимые для передачи в представление, чтобы представление показывало все, что ему нужно, и, возможно, все, что ему нужно для взаимодействия с пользователем.

Не совсем понятно, что вы делаете с этим видом. Что делает этот взгляд?

kozmikadam

В этом представлении у меня есть только форма для добавления студентов в мою таблицу "студент". Кроме того, я пытаюсь добавить название курса во вторую таблицу, которая называется "курс". Таким образом, с этой точки зрения у меня есть только форма.

Есть ли какая-нибудь статья об этом типе работы ?

Я пытаюсь сделать очень простую вещь, как мне кажется. С классическим способом ( asp.net веб-приложение ) я могу сделать это без каких-либо проблем. Но в MVC я еще ничего не мог решить.

F-ES Sitecore

google "просмотр с двумя моделями", и вы найдете множество примеров. Создайте свою собственную модель и заселите себя

класс MyViewModel
{
Список< Customer & gt; Customers {get; set;}
List< Order & gt; Orders {get; set;}
}

MyViewModel model = новый MyViewModel()
модель.Клиенты = DbContext можно.Клиентов().Список();
модель.Заказы = dbcontext.Приказы().Список();
обратный вид(модель);

Dave Kreskowiak

Правильным методом для этого было бы добавить студента, а затем перенаправить его в другое представление для редактирования студента, где вы можете добавить курсы для этого студента.