Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
VladislavLp
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 9
1

Как реализовать отображение 3х таблиц бд в одном представлении

02.08.2014, 11:52. Просмотров 1280. Ответов 3
Метки нет (Все метки)

Есть 3 таблицы базы данных:
Products, Category и Bonus.

Их описываю 3 модели соответственно
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
public class Products
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public decimal Price { get; set; }
        public Category Category { get; set; }
        public int? CategoryId { get; set; }
    }
C#
1
2
3
4
5
6
7
 public class Category
    {
        public int Id { get; set; }
        public string Name { get; set; }
 
        public IEnumerable<Products> products { get; set; }
    }
C#
1
2
3
4
5
6
 public class Bonus
    {
        public int Id { get; set; }
        public int Description { get; set; }
 
    }


Класс контекста:
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
public class CameliaDbContext: DbContext
    {
        public DbSet<Category> Category { get; set; }
        public DbSet<Products> Products { get; set; }
        public DbSet<Bonus> Bonus { get; set; }
    }


Было создана отдельная страница _AdminLayout.cshtml на которой есть меню навигации с элементами "Редактор/товаров/категорий/акций." (меню прописано в HTML коде)
Как теперь написать контроллер Admin так, чтобы на странице могли отоброжаться все 3 таблицы c учётом навигации.

Добавлено через 4 минуты
Можно, конечно сделать грубо.
3 страницы, 3 котроллера.
Но хотелось бы это как-то сделать на одной тсранице.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.08.2014, 11:52
Ответы с готовыми решениями:

Данные из разных таблиц в одном представлении
Здравствуйте. Есть 4 модели: public class User { public int...

Как отобразить 2 модели в одном представлении
Добрый день. У меня вопрос... Я сделала 2 модели данных, соответственно 2 таблички в БД, 2...

Отображение нескольких таблиц в одном datagridview
Добрый день! На форме есть datagridview, 3 кнопки. В бд акцесс есть 3 таблицы, бд я связал через...

Отображение разных таблиц из БД в одном dataGridView
всем доброго времени суток! есть БД, dataGridView на форме. в конструкторе в dataGridView через...

Отображение нескольких таблиц в одном DBGride
как отобразить несколько таблиц в одном гриде имеется две таблицы из которых нужно вывести столбцы...

3
Wolfdp
898 / 803 / 207
Регистрация: 15.06.2012
Сообщений: 3,181
Записей в блоге: 1
Завершенные тесты: 1
03.08.2014, 07:50 2
Вариант 1 -- Пишем свою модель в которой передаем все три списка.
Вариант 2 -- пишем три паршиала, которые подключаем к странице. В них по ajax подтягиваем нужные данные для вывода. Можно всё влепить и на одну страницу, но я хз как это будет выглядить.
Вариант 3 -- фреймы.

P.S. Современные фрейморки, такие как KendoUI, очень хорошо облегчают разделения данных от представления: просто пишешь метод который возращает данные в виде json, указываешь источник в гриде/списке и вуаля -- всё уже есть.
1
VladislavLp
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 9
03.08.2014, 21:20  [ТС] 3
"Вариант 1 -- Пишем свою модель в которой передаем все три списка."

Можно про этот вариант поподробнее?
0
Wolfdp
898 / 803 / 207
Регистрация: 15.06.2012
Сообщений: 3,181
Записей в блоге: 1
Завершенные тесты: 1
03.08.2014, 21:37 4
C#
1
2
3
4
5
6
public class PageViewModel
{
 public IEnumerable<Products> ListProducts {get;set;}
 public IEnumerable<Category> ListCategorys {get;set;}
 public IEnumerable<Bonus> ListBonuss {get;set;}
}
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@model PageViewModel
 
@foreach(var p in Model.ListProducts)
{
 Html.Dispaly(p)<br />
}
<hr />
@foreach(var p in Model.ListCategorys)
{
 Html.Dispaly(p)<br />
}
<hr />
@foreach(var p in Model.ListBonuss)
{
 Html.Dispaly(p)<br />
}
0
03.08.2014, 21:37
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2014, 21:37

Как реализовать обновление данных в SQL через кнопку на Представлении контроллера
Проект называется &quot;Автоматизация продаж малого предприятия&quot;.5 таблиц - 5 контроллеров. Контроллер...

Несколько моделей в одном представлении
Здравствуйте! Только начал разбираться в ASP.NET MVC. Нужно сделать страницу, на которой будет...

Несколько моделей в одном представлении: возможно ли
Возможно ли (и правильно ли) отображать в представлении несколько моделей? Или сама MVC требует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.