|
|
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
Добрый день! Прошу прощение за корявость вопроса, в 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); ) применим ли для меня такой вариант? Если да то как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2011, 11:49 |
|
||
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
aleks26rus, 1. сделать класс с нужными пропертями из нужных табличек, затем join 2. не применим, SelectList для других целей 3. использовать ViewModel вместо ViewData ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2011, 12:09 |
|
||
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2011, 12:10 |
|
||
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
Пасибо за ответы. Насколько я понял ориентироваться надо на модель которая нужна мне во вьюхах, а не на ту которая в БД ? Кстати, кашерно данные дергать через хранимые процедуры или стараться пользовать linq2sql ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2011, 12:49 |
|
||
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
aleks26rusКстати, кашерно данные дергать через хранимые процедуры или стараться пользовать linq2sql ? Если не очень сложные запросы, то linq подойдет вполне. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2011, 12:58 |
|
||
|
asp.net mvc Две связанные таблички в одно представление ???
|
|||
|---|---|---|---|
|
#18+
Можно попробовать вытащить наименование продукта по id в представлении, это в том случае если таблицы связаны ключом. Например в представлении выводятся данные Цена и id Продукта, а нам нужно Цена и Наименование продукта: <p> Price <% =Html.Encode(Model.Price)%> </p> <p> idProdact <% =Html.Encode(Model.idProdact)%> // изменяем на (Model.Price.NameProdact) <p> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.05.2012, 15:21 |
|
||
|
|

start [/forum/topic.php?fid=18&gotonew=1&tid=1359572]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
168ms |
get topic data: |
9ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 244ms |
| total: | 507ms |

| 0 / 0 |
