Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net mvc Две связанные таблички в одно представление ??? / 6 сообщений из 6, страница 1 из 1
11.08.2011, 11:49
    #37390756
aleks26rus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
Добрый день!
Прошу прощение за корявость вопроса, в mvc новичок.
Перетягиваю проект из дельфей в mvc. Есть две таблички, Produkti (int id_produkt, string name,...) и Prices (int id, int id_Produkti, price,...) Требуется получить представление для редактирования цены. В модели имею:

public IEnumerable< price_produkt> GetAllPrice()
{
return _dateContext.price_produkts.OrderBy(t => t.dateStart);
}

Соответственно в контролле :
public ActionResult List()
{
ViewData["Prices"] = "Цена";
ViewData["price"] = _dateManager.Price.GetAllPrice();
ViewData["Produkts"] = "Продукт";
//ViewData["NameProdukt"] = ?????? как получить???
}
соответственно когда в view пытаюсь получить список цена | название продукта:

foreach (Price_product t in (IEnumerable<Produkti>)ViewData["price"])
{ %>
<tr>
<td> <%= t.price%></td>

У меня доступны поле ЦЕНА и ID_PRODUKT , а нормальное название продукта как вытягивать?
1. Я должен как то по другому в модели LINQtoSQL запрос построить? Ели да, то как связать две таблицы, он же вроде набор по модели БД возвращает... Или в Модель БД добавить представление join двух таблиц и обращаться к нему?
2.Встречал пример как наполнять SelectidLict данными из другой таблицы, (как то так: ViewData["States"] = new SelectList(_dateManager.States.GetStates(), "StateID", "Title", t.StateID); ) применим ли для меня такой вариант? Если да то как?
...
Рейтинг: 0 / 0
11.08.2011, 12:09
    #37390794
Парамон
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
aleks26rus,

1. сделать класс с нужными пропертями из нужных табличек, затем join
2. не применим, SelectList для других целей
3. использовать ViewModel вместо ViewData
...
Рейтинг: 0 / 0
11.08.2011, 12:10
    #37390799
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
aleks26rus1. Я должен как то по другому в модели LINQtoSQL запрос построить? Ели да, то как связать две таблицы, он же вроде набор по модели БД возвращает... Или в Модель БД добавить представление join двух таблиц и обращаться к нему?


Да, надо объединять две таблицы в join или создавать View на сервере и тащить ее в модель.

aleks26rus2.Встречал пример как наполнять SelectidLict данными из другой таблицы, (как то так: ViewData["States"] = new SelectList(_dateManager.States.GetStates(), "StateID", "Title", t.StateID); ) применим ли для меня такой вариант? Если да то как?

SelectList я использую обычно для DropDownList. Вы же создаете таблицу, смысла нет в этом для вас.

И еще вот это
aleks26ruspublic ActionResult List()
{
ViewData["Prices"] = "Цена";
ViewData["price"] = _dateManager.Price.GetAllPrice();
ViewData["Produkts"] = "Продукт";
//ViewData["NameProdukt"] = ?????? как получить???
}

выглядит ужасно.

Создайте класс и работайте с типизированной моделью данных.
Было бы 1 значение, ладно, а так уже работайте лучше с моделью.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
public class MyViewData
{
	public IEnumerable<Price> Prices{ get; set; }
	public float price{ get; set; }
	public IEnumerable<Produkt> Produkts{ get; set; }
	public string NameProdukt{ get; set; }
}
...
Рейтинг: 0 / 0
11.08.2011, 12:49
    #37390867
aleks26rus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
Пасибо за ответы.
Насколько я понял ориентироваться надо на модель которая нужна мне во вьюхах, а не на ту которая в БД ?
Кстати, кашерно данные дергать через хранимые процедуры или стараться пользовать linq2sql ?
...
Рейтинг: 0 / 0
11.08.2011, 12:58
    #37390893
Pavluha
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
aleks26rusКстати, кашерно данные дергать через хранимые процедуры или стараться пользовать linq2sql ?

Если не очень сложные запросы, то linq подойдет вполне.
...
Рейтинг: 0 / 0
19.05.2012, 15:21
    #37802141
etokov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net mvc Две связанные таблички в одно представление ???
Можно попробовать вытащить наименование продукта по id в представлении, это в том случае если таблицы связаны ключом. Например в представлении выводятся данные Цена и id Продукта, а нам нужно Цена и Наименование продукта:

<p>
Price
<% =Html.Encode(Model.Price)%>
</p>

<p>
idProdact
<% =Html.Encode(Model.idProdact)%> // изменяем на (Model.Price.NameProdact)
<p>
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / asp.net mvc Две связанные таблички в одно представление ??? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]