Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
Во вью надо передать модель для редактирования, допустим, это делает пара ActionResult GET Edit(id) / POST Edit(ViewModel) Но большая часть полей нужна только для вывода информации о редактируемом объекте (т.е. редактируется не весь объект, а его часть). Логично предположить, что рендериться поля будут как-то так: @Html.EditorFor(x => x.Prop) , а выводится либо так @Html.DisplayFor(x => x.DispProp) или даже так @Model.DispProp По стандартной схеме, при сабмите, если пользователь накосячил и валидация не прошла, Action должен вернуть модель на повторное редактирование с сообщениями об ошибке. Подхожу к вопросу. При сабмите мы передаем в Action только редактируемые поля, информация для отображения теряется, и её надо будет восстанавливать для повторного редактирования. И все это в одной и той же модели. Плохо? Как оно с точки зрения архитектуры? Может посоветуете чего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 10:56 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
Для себя давно уже понял, что эдиторы моедлей в mvc - от лукавого. Лучше сразу писать по-человечески, чтобы потом не упороться на грабли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:05 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
МСУ, А можно по-подробней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:06 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
Например, как ты будешь юзать эдитор модели, если у тебя будет вложенный класс? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:11 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
МСУ, @Html.EditorFor(x => x.ComplexProperty.Prop) если typeof(ComplexProperty) умеет new() проблем не будет. так что за магия? признавайся? как решаешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:14 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, @Html.EditorFor(x => x.ComplexProperty.Prop) если typeof(ComplexProperty) умеет new() проблем не будет. так что за магия? признавайся? как решаешь? Ты издеваешься? 1. EditorFor для модели, а не для свойства 2. EditorFor должен автоматом подхватывать все подмодели и отстраивать UI. Что делать он не умеет. 3. Перечислять руками свойства не вариант, смысл эдитора теряется. Особенно, когда мне нужно расставить атрибуты в нужной последовательности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:28 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
МСУ, ещё как умеет! :) делаешь свой вью в EditorTemplates для нужного типа но ты лучше расскажи про своё решение, уверен многим пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:34 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
hVostt, я тебя запутал Вот это hVostt@Html.EditorFor я прочитал как hVostt@Html.EditorFor Model Я хотел сказать, что EditorForModel зло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:35 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
МСУ, я так понимаю, ты предлагаешь чистый AJAX, и никаких пробросов лишних данных? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:38 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
Я предлагаю забить на EditorForModel, т.к. это поделка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:40 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
МСУ, почаму? для bootstrap, например, можно написать универсальный эдитор для form-horizontal форм, работающий для всех объектов. на этапе разработки самое то. так что с ViewModel? как быть с редактируемыми и не редактируемыми данными? уместно все пихать в одну модель и разгребать одно от другого? затыкивать все поля для отображения во ViewData как-то не по феншую вообще. совсем. или отдавать во вью при любом раскладе DTO, что тоже как-то не очень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 11:48 |
|
||
|
ASP.NET MVC 3/4 ViewModel -- разделение ответственности
|
|||
|---|---|---|---|
|
#18+
hVosttМСУ, почаму? для bootstrap, например, можно написать универсальный эдитор для form-horizontal форм, работающий для всех объектов. на этапе разработки самое то. Можно, но это ж будет уже не штатный EditorForModel. А именно про него речь. hVosttтак что с ViewModel? как быть с редактируемыми и не редактируемыми данными? уместно все пихать в одну модель и разгребать одно от другого? затыкивать все поля для отображения во ViewData как-то не по феншую вообще. совсем. или отдавать во вью при любом раскладе DTO, что тоже как-то не очень. ViewData это абсолютное зло. Всё должно быть в модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.04.2013, 12:00 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=102&tid=1358495]: |
0ms |
get settings: |
5ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 321ms |

| 0 / 0 |
