Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элементарные вопросы по MVC / 8 сообщений из 8, страница 1 из 1
23.09.2015, 11:56
    #39059266
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Буду сюда постить, видимо, совсем простые вопросы. Пока мне непонятен механизм работы ASP MVC.

1. Допустим у меня есть две сущности в базе:

- company (поля: company_name)
- contacts (поля: contact_type, contact_info)

Допустим, для них я завел две одноименные модели.

И я хочу при создании новой компании сразу заполнять номер телефона.
Таким образом мне потребуется добавлять записи в обе модели одновременно.

Допустим я сделал форму с полями:

Наименование компании: _____________
Телефон: ______________

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

Видимо я могу соорудить гибридную модель специально для этого случая, которая содержит оба поля: company_name, contact_info.
Но что делать, если я не хочу плодить такую "разовую" сущность, а хочу просто получить в виде коллекции Key-Value набор значений из формы сразу в контроллер минуя какие то промежуточные модели ? А дальше уже самому решить что с этим делать.

Как это реализовать ?
...
Рейтинг: 0 / 0
23.09.2015, 12:00
    #39059278
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Alexsalogдве сущности в базеAlexsalogДопустим я сделал форму с полямиAlexsalogполя как-то попали в контроллерОшибка в том, что вы пытаетесь смешать модели хранения данных и модели представления - не надо этого делать. Представления и контроллеры работают с моделями представления и не имеют понятия, как это все хранится в базе.
...
Рейтинг: 0 / 0
23.09.2015, 12:08
    #39059287
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Shocker.ProОшибка в том, что вы пытаетесь смешать модели хранения данных и модели представления - не надо этого делать. Представления и контроллеры работают с моделями представления и не имеют понятия, как это все хранится в базе.
Да, вы как раз намекаете на вариант с гибридной моделью (моделью представления). Ну а если по простому, как в php, просто считать данные из POST. Нельзя ?
...
Рейтинг: 0 / 0
23.09.2015, 12:15
    #39059297
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Alexsalog,

можно и из колекции(FormCollection), но зачем такой стиль писанины?
это не гибридная модель, вы делает модель для вьюшки и никак не дополняете предыдущие модели для бд.
...
Рейтинг: 0 / 0
23.09.2015, 12:16
    #39059300
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Никто не мешает напрямую читать данные из POST прямо в параметры модели. Просто сделайте параметры метода контроллера, соответствующие параметрам POSTа (с учетом регистра и типа) и они заполнятся автоматически.

Но это уже костылики, то есть годится для мелкого одноразового проекта, на перспективу лучше все-таки следовать паттерну.
...
Рейтинг: 0 / 0
23.09.2015, 12:19
    #39059303
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
...
Рейтинг: 0 / 0
23.09.2015, 12:28
    #39059316
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
handmadeFromRuAlexsalog,

можно и из колекции(FormCollection), но зачем такой стиль писанины?
это не гибридная модель, вы делает модель для вьюшки и никак не дополняете предыдущие модели для бд.

Скорее всего я приду к паттернам, просто пытаюсь узнать все возможности, чтобы понять механику.

То есть я могу объявить что то типа:

Код: c#
1.
2.
3.
4.
5.
public ActionResult SomeActionMethod(FormCollection formCollection)
{


}



ага, добре... -)

Но видимо, при таком подходе (без модели представления) в случае некой ошибки - типа валидации, поля формы будут очищены после перезагрузки представления ?
...
Рейтинг: 0 / 0
23.09.2015, 12:30
    #39059321
Alexsalog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Элементарные вопросы по MVC
Алексей К Get Form’s Post Values in ASP.NET MVC with FormCollection Хороший пример. Пока все понятно.

Спасибо всем.
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Элементарные вопросы по MVC / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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