Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET MVC
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 25.10.2012
Сообщений: 9
1

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

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

Author24 — интернет-сервис помощи студентам
Есть 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2014, 11:52
Ответы с готовыми решениями:

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

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

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

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

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

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

Можно про этот вариант поподробнее?
0
Эксперт .NET
1696 / 1325 / 316
Регистрация: 15.06.2012
Сообщений: 5,045
Записей в блоге: 3
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.08.2014, 21:37
Помогаю со студенческими работами здесь

Как в одном представлении и инициализировать и выводить?
Возможно ли через два метода контроллера(post и get) и ОДНО строго типизированное представление...

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru