Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
Shocker.ProПростите, что вмешиваюсь в ваш высоконаучный спор. А что мешает сделать отдельный класс для всех этих списков и цеплять его к модели как свойство? SelectListItem же. не надо его лепить к модели. ни к чему. модель это модель. что касается MVC. если пытаться люто-бешено следовать концепции всё при всё запихать в модель, что будет отображено во вью, тогда надо абсолютно в каждую модель затолкать пользователя, имя которого надо рисовать в шапке, типа "привет, Вася Пупкин!". марзм? естественно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:24 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVostt кладётся он во вьюбэг не просто по какому-то выдуманному ключу, а по ключу поля, к которому привязывается. это здесь тоже можно обойтись без магических строк и получать из мета. ниче не сломается, и тестится великолепно. Дык вьюбэг, он уже весь магический ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:33 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVostt зашем? @Html.EditorFor(x => x.Prop) в шаблоне для Prop лежит @Html.DropDownList("") и волки целы и овцы сыты и шаблон на каждый чих ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:39 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
МСУНе ной, а сконцентрируйся на проблеме лучше. Ныть - в детский сад. тебе показалось МСУК тому, что вью модель не нужно тестировать? да. там нет логики и не должно быть, там готовые данные на отображение МСУИ почему списки для комбобоксов не типизированы? Чем они такие особенные? Есть еще и гриды master-detail-detail-..., чеклистбоксы, n-колоночные комбобоксы, шедулеры, и прочая списочная хрень. Ты всё это тоже предлагаешь выносить в этот нетипизированный кал? потому что спор начался с @Html.DropDownList("CategorYId"), где тут типизация. Я это не предлагал, мое предложение было что списки для вью можно прокинуть через вьюбаг и не более, так что не надо. Потом я согласил что это составляющая вьюмодели. Но к примеру если каскадные списки получится вьюмодель без списков, только с ключами. МСУТестировать представление тоже нужно, и логика в нем тоже есть. Банальные даже ифы для генерации или сокрытия контролов. Да и речь не только в тестировании вью-модели, как ты не можешь понять этого. покажи мне как ты покроешь тестами вью с логикой. МСУНе нужно судить о неправильности на основе своего скудного опыта. Пара десятков комбобоксов - это мелочи поверю, потому что не сталкивался с такими дикими интерфейсами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:40 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVostt зашем? @Html.EditorFor(x => x.Prop) в шаблоне для Prop лежит @Html.DropDownList("") и волки целы и овцы сыты[/quot] Какой бред. Зачем мне эта петрушка в залипушками в проекте? Это не проект, это какая-то свалка отходов. И всё ради чего, ради банальной отрисовки комбобокса? Завязывай уже с наркотой :) hVosttпри чем тут mvvm-щики. там вообще другой подход. совершенно другой. и тоже, кстати, в модель всё подрят не пихают. разбивают на разные модели с наименьшей зависимостью друг от друга. Там точно такой же подход, принципиально ничем не отличающийся. Только маппинги более мощные на XAML с кучами фишек и вкусностей. Идея такая же и стара как мир, инициализировать модель представления, намапить на вью, снять измененные данные с модели представления и отправить их в лес. Те же яйца, только приправленные немного другой спецификой технологии. Ты бы это понял, если имел кругозор. hVosttМСУТипизация - это демагогия? Ну могу посоветовать только убиться после таких слов :) если ты не понял, я против типизации ничего не имеют против. только за. SelectList офигенно типизирован для любой коллекции ключ-значение. кладётся он во вьюбэг не просто по какому-то выдуманному ключу, а по ключу поля, к которому привязывается. это здесь тоже можно обойтись без магических строк и получать из мета. ниче не сломается, и тестится великолепно. Постой. Только что ты рвал горло и вопил о том, что Код: c# 1. наше всё. Теперь ты говоришь, что у тебя всё типизированно и здорово. Какая типизация может быть в том, что я написал выше? Или ты пытаешься как-то выкрутиться и придумываешь всё новые и новые схемы самонаёба в виде @Html.EditorFor(x => x.Prop)? Я тебя не понимаю, ты скачешь как кузнечик по кустам и не можешь определиться с истиной. Может хорош писать гавнокод и пора включать голову? В моём варианте никаких дополнительных танцев с бубнами не нужно, имеем честную модель, имеем прозрачный вью, имеем линейную логику инициализации модели. Всё настолько просто, насколько это можно себе представить. Зачем мне тут атрибуты, фильтры, шаблоны с Prop, волки и овцы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:42 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuтебе показалось Ок, пусть будет так. handmadeFromRuМСУК тому, что вью модель не нужно тестировать? да. там нет логики и не должно быть, там готовые данные на отображение В любой более или менее сложной системе во вью есть всегда логика. Начиная от валидаторов (WebForms), javascript и т.д., и кончая навороченным умным разором с его @if и @else для генерации html. Особенно разор очень удобен для логики генерации контролов на основе прав пользователя. handmadeFromRuмое предложение было что списки для вью можно прокинуть через вьюбаг и не более, так что не надо. Потом я согласил что это составляющая вьюмодели. Но к примеру если каскадные списки получится вьюмодель без списков, только с ключами. Какая разница, какие списки, каскадные или феерические, с лампочками и рюшечками или с коровьим выменем. UI может быть самым разнообразным, а его модель неизменна. В том весь и цимус, что если модель содержит все данные для работы, UI можно строить любой без вмешательства в серверный код. Кстати, в этом же плюс и чудесного MVVM. Модель есть, она всё содержит в себе. UI меняй хоть каждый день и ни о чем не думай. Это очень удобно. handmadeFromRuпокажи мне как ты покроешь тестами вью с логикой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.01.2014, 17:52 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, ох, ё - вот нафлудили :) handmadeFromRuПафос про тимлида и увольнение зачем это писать? да может я не столь опытен и могу ошибаться, но аргументируй! а не пишите я тимлид и уволил бы. Ответ на фразы авторимхо согласен с hVostt, чтоб не засорять целевую модель бесполезными списками; МСУ я раньше также в модель прокидывал, но надоело. Ощущение искусственности Ответ надоело, это в моем понимании пафос разработчика, который отвечает на вопрос - "Почему ты так делаешь" - "Надоело", Ответный пафос - "Уволен". Если ответ будет аргументирован и пусть аргументы не совпадают с моим пониманием (и это нормально), но человек приведет нормальные аргументы, то и реакция будет другая. Но это лирика. handmadeFromRuхм а зачем ложить все яйца в корзину если можно разбить на подвюьшки? Часто это жесткое требование бизнеса, например - единое окно обслуживание клиента. Пример из жизни клиент звонит в call-центр. После идентификации клиента (автоматически на основе входящего номера или со слов клиента - не суть) открывается окно(в нашем случае View). В это замечательное View подтягивается ВСЯ инфа по клиенту - что бы оператор понимал как дальше работать с клиентом, что ему предложить, чем помочь - какие условия обслуживания, какие у него "больные" места и очем лучше с ним не говорить. Такие View у нас частенько есть и состав таких View согласуется с заказчиком до запятой. Так что не разобъеш, в жизни простых задач бывает очень мало. handmadeFromRuникто целевую модель не кинет во вьюбег, вы передергиваете, вьюшка типизирована, не типизированы только списки для дропдаунов. читаем внимательно. А почему их обидели? В чем суть разных подходов к формированию вью? handmadeFromRuтестировать представление эм зачем? там нет логики и все тривиально, или мне протестить какая верстка на выхлопе? А что кеши? или сторонние сервисы? все данные придут из бл. какие проблемы? и как это решит ваша вьюмодель то? или мы мешаем вьюмодель с модель бизнес логики? Как это вяжется с вашим ответом handmadeFromRueJack в чем нормальность? прокинули коллекцию Id-Name без какой либо смысловой нагрузки? по вашему я не смогу тестами покрыть это дело? Далее Дело в том что вы прибил гвоздями запросы к БД в методах контроллера - если сегодня вы часть информации получаете из БД а завтра из стороннего сервиса, вы все методы перепишите (причем нескоьлко раз). Например у вас есть метод insert (GET) и insert(POST): Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. то в пост методе вам придется повторить все ваши выкруты для ViewBag Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. и так для update методов и других. В случае не использования ViewBag просто передадите модель во View(Model) и все. Тут же мысль про плочение данных из разных источников - в методах контролера модель должна формироваться промежуточным слоем. Это вообще методы модели (в концепции MVC - Модель: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать ) handmadeFromRu eJack Вспомогательные списки - это что?, это не свойства бизнес сущности? Приведите примеры это нифига не свойства бизнес сущности, это свойство модели представления и не более. Давайте пример - пока это тоьлко сотрясение воздуха. Мой пример - категория обслуживания клиента - Базовый, Расширенный, Расширенный+, VIP, БОГ. С точки зрения физического хранения это таблица - справочник. Но для бизнеса это свойство объекта на которое завязанна логика - например тарифы, и доступные услуги (для разных категорий обслуживания они разные) а значит это часть бизнес сущности. теперь ваш вариант. handmadeFromRu eJack index, insert (Get), insert(Post), update(Get), update(Post), delete (Get, Post) особенно в свете фразы - объясните зачем мне тестить каждый экшен? зачастую бл != контролеру\экшен. я тестирую бл и не важно что у меня веб формы, асп мвц или wpf. в тестах для бл подменяю на мок-репо источник данных. может я не знаю, в силу малоопытности и вы меня обогатите знаниями зачем мне тестить представление. Мне хватает чтоб силениум протестил юзер кейсы для вьюшек. Затем что в вашем примере вы получаете данные в каждом методе заново - в жизни получение данных и формирование модели дело далеко не тривиальное - нужно тестировать. handmadeFromRuп.с. мне интересно что вы скажите и мне не стремно сказать, Это правильно, мне тоже не стремно оказаться не правым, не ошибается только те кто ни чего не делают! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 00:39 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
МСУКакой бред. Зачем мне эта петрушка в залипушками в проекте? Это не проект, это какая-то свалка отходов. И всё ради чего, ради банальной отрисовки комбобокса? Завязывай уже с наркотой :) какой-то узкий и однобокий у тебя взгляд на вещи. это обсолютно стандартные решения, нативные -- всё как ты любишь МСУТолько маппинги более мощные на XAML с кучами фишек и вкусностей. опять 25. при чём же тут твой XAML? MVVM это паттерн. что там и как делается в XAML по барабану вообще. паттерн MVVM более общий, и применяется в том числе при разработке клиентского JavaScript приложения, где XAML-ом и его отходами даже не пахнет. МСУнаше всё. Теперь ты говоришь, что у тебя всё типизированно и здорово. Какая типизация может быть в том, что я написал выше? естественно всё типизировано. шаблоны для EditorFor -- стандартное решение, предложенное вендором и повсеместно используемое. и ещё пока ни один кролик не пострадал. я не понимаю с чем ты споришь. хочешь сделать заявление по поводу того, что ASP.NET MVC спроектировала команда мудаков? и нада же, приделали мерзкий ViewBag, дибильные Editor/Display шаблоны, вот же мерзкие хоббитцы МСУЯ тебя не понимаю, ты скачешь как кузнечик по кустам и не можешь определиться с истиной. Может хорош писать гавнокод и пора включать голову? вот именно я включаю голову, и стараюсь использовать инструмент так, как его задумывали. а ты же ушёл с головой в теорию. и вместо того, чтобы решать задачи, решаешь как уложить в теоретические рамки, которые сам же для себя и воздвиг. МСУВ моём варианте никаких дополнительных танцев с бубнами не нужно, имеем честную модель, имеем прозрачный вью, имеем линейную логику инициализации модели. Всё настолько просто, насколько это можно себе представить. Зачем мне тут атрибуты, фильтры, шаблоны с Prop, волки и овцы? тебе хз. но вообще это стандартные инструменты, заложенные изначально и развивающиеся до сих пор. если бы эти штуки были бы неудачным решением, отсохло бы ещё на 2-ой версии. просто ты не умеешь ASP.NET MVC готовить. ты применяешь подход аналогичный в XAML, где может ты и плаваешь как рыба в воде. но ASP.NET MVC здесь вполне уместно применять то, что было предложено разработчиками. по большей части. с чем ты споришь, непонятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 08:10 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
eJackОтвет надоело, это в моем понимании пафос разработчика, который отвечает на вопрос - "Почему ты так делаешь" - "Надоело", Ответный пафос - "Уволен". как отличить хорошего админа от плохого? хороший весь рабочий день по большей части балдеет, плохой постоянно пашет, сетку понимаешь чинит. как отличить хорошего программиста от плохого? хороший сделает всё, чтобы меньше ипаться. плохой трудяжка будет херачить и копипастить сотни тысяч строк, вместо того, чтобы разочек включить голову. "надоело" -- это то, что программиста делает программистом. а за "уволен", пожизненный ярлык "самодур" без навыков самостоятельного мышления. слишком много умных книжек видемо начитались. эх.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 08:18 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
... ... вот ещё, подумалось, OWIN тогда получается вообще какая-то фигня, там же всё через словари и ключи организовано. никакой типизации! в топку! разрабов на костёр! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 08:41 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVosttкакой-то узкий и однобокий у тебя взгляд на вещи. это обсолютно стандартные решения, нативные -- всё как ты любишь Так никто и не говорит про нестандартность. Нетипизированная DataTable тоже нативщина, но использовать её взамен человеческих ORM есть зло (отдельные случаи не в счет, когда схема данных динамична и типизация идет лесом). Даже имея в руках стандартную лопату можно сломать себе ногу. У тебя как-раз именно такой случай. hVosttопять 25. при чём же тут твой XAML? MVVM это паттерн. что там и как делается в XAML по барабану вообще. паттерн MVVM более общий, и применяется в том числе при разработке клиентского JavaScript приложения, где XAML-ом и его отходами даже не пахнет. Что значит причем? Я же тебе объяснил, я хочу использовать модель представления и в XAML морде в том числе. С минимальными переделками, если они будут. Я хочу прозрачную модель, полно описывающую представление. JS по возможностям XAML даже рядом не валялся, как-то глупо даже сравнивать это. То, что в JS можно ваять убогие MVVM залипушки на кнокауте - жалкое подобие того, что можно вытворять на XAML. hVosttестественно всё типизировано 1. Где тут типизация? @Html.DropDownList("CategoryId") 2. У тебя модель неполная, данные в UI наполняются через какой-то левый свищ, а не через модель. 3. System.Web.Mvc.SelectList это не типизация и в модели этой фигне делать нечего. Так где ж у тебя "всё типизировано"? hVosttшаблоны для EditorFor -- стандартное решение, предложенное вендором и повсеместно используемое. и ещё пока ни один кролик не пострадал. я не понимаю с чем ты споришь. хочешь сделать заявление по поводу того, что ASP.NET MVC спроектировала команда мудаков? и нада же, приделали мерзкий ViewBag, дибильные Editor/Display шаблоны, вот же мерзкие хоббитцы Я тебе уже писал, зачем мне тут шаблоны для EditorFor? Только упоротый кролик будет для комбобоксов создавать шаблоны, создавать отдельные атрибуты, прикручивать их к методам контроллеров. И всё ради того, чтобы наполнить комбобоксы? Это просто верх тупости hVosttвот именно я включаю голову, и стараюсь использовать инструмент так, как его задумывали. а ты же ушёл с головой в теорию. и вместо того, чтобы решать задачи, решаешь как уложить в теоретические рамки, которые сам же для себя и воздвиг. Ты пытаешься не использовать инструмент, как задумали, а сделать из проекта свалку тухлых отходов, разобрать которые сможет только прокаченный инопланетянен. hVosttтебе хз. но вообще это стандартные инструменты, заложенные изначально и развивающиеся до сих пор. если бы эти штуки были бы неудачным решением, отсохло бы ещё на 2-ой версии. просто ты не умеешь ASP.NET MVC готовить. Я повторяю, никто не говорит тебе, что это нестандартные инструменты. Тебе говорят о том, что для данной задачи эти инструменты не подходят. Абсолютно. Толковый кодер тем и хорош, что применяет правильные инструменты в той задаче, где это нужно. А не пихает их куда ни попадя, а потом заявляет, мол он же применил стандартные инструменты. На счет неумения мною готовить MVC я тихо поржал над тобой в сторонке. Ага. hVosttты применяешь подход аналогичный в XAML, где может ты и плаваешь как рыба в воде. но ASP.NET MVC здесь вполне уместно применять то, что было предложено разработчиками. по большей части. с чем ты споришь, непонятно Я не применяю подход, аналогичный в XAML. Срать вообще на XAML и всё стальное, речь не о том - я применяю подход, который граничит с здравостью ума и гибкостью архитектуры. В твоём случае - ни здравости ума, ни гибкости в архитектуре. Как всегда, двойка тебе. hVostteJack как отличить хорошего админа от плохого? хороший весь рабочий день по большей части балдеет, плохой постоянно пашет, сетку понимаешь чинит. Балдеют бездельники, а хороший админ в свободное время развивается и поднимает скилл. Всегда есть куда расти, иначе - деградация. Если уж время совсем много, нормальный админ берет себе подряды и админит удаленно другие конторы. У админа всегда навалом работы. hVostteJackкак отличить хорошего программиста от плохого? хороший сделает всё, чтобы меньше ипаться. плохой трудяжка будет херачить и копипастить сотни тысяч строк, вместо того, чтобы разочек включить голову. Так вот ты относишься ко второй категории, тебе об этом и пытаются сказать. hVostteJack"надоело" -- это то, что программиста делает программистом. а за "уволен", пожизненный ярлык "самодур" без навыков самостоятельного мышления. слишком много умных книжек видемо начитались. эх.... Надоело - это то, что программиста делает гавном. Есть требования свыше от руководителя, есть архитектура, есть конкретная задача, есть сроки - сиди и пили. Надоело - иди коров паси. А "самодур" или "дуросам" - это всё детский сад, не иначе. Когда сам станешь руководителем, будешь принимать на работу людей и увольнять их, ставить задачи, контролировать выполнение, наказывать за фэкапы и прочие косяки, заслонять своих людей от нападков злого бизнеса, премировать и депримировать отличившихся и так далее - вот тогда и поговорим. А пока забейся в свой угол и пиши такой код, который говорят тебе дяди. Если не будешь этого делать - уволен нах. Самодеятельность и прочая феерическая манера поспорить с руководством о правильности кода - даже в детском садике пресекается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 10:46 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVostteJackОтвет надоело, это в моем понимании пафос разработчика, который отвечает на вопрос - "Почему ты так делаешь" - "Надоело", Ответный пафос - "Уволен". как отличить хорошего админа от плохого? хороший весь рабочий день по большей части балдеет, плохой постоянно пашет, сетку понимаешь чинит. как отличить хорошего программиста от плохого? хороший сделает всё, чтобы меньше ипаться. плохой трудяжка будет херачить и копипастить сотни тысяч строк, вместо того, чтобы разочек включить голову. "надоело" -- это то, что программиста делает программистом. а за "уволен", пожизненный ярлык "самодур" без навыков самостоятельного мышления. слишком много умных книжек видемо начитались. эх.... ответ делитанта - хороший админ будет повышать компетенции в свободное время (это как минимум). хороший программист сделает все что бы ипаться в будущем менше - что бы в дальнейшем сопровождать систему было проще. (сопровождение это не только правка багов но и развитие!). Если после хорошоего программиста для внесения изменений в структуру БД придется переписать 25 методов контролера и протестировать правильность начитки данных во все ViewBag - это плохой программист. "надоело" - это ответ не делающий ни кого программистом - а только подтверждаетон лентяй и самодур. На это соответствующая реакция. Ответ - "я не буду так делать, а буду по другому потому что ..... " это ответ достойный профессионала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 12:49 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
Хорош цепляться к словам) я ж не написал просто надоело и не хочу. а добавил причину, потому что мне так показалось, возникли сомнения . Если кто то считает что это не причина, это его воля так судить и думать я что плохой программист т.к. можно в след раз и не слушать меня. handmadeFromRu...я раньше также в модель прокидывал, но надоело. Ощущение искусственности ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 13:16 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, Да уже не к вам вопрос, коллега hVostt развил свою мысль на основе вашего высказывания. Про то что вы плохой программист ни кто не говорил, мысль была что так делать не хорошо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 13:48 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
handmadeFromRuХорош цепляться к словам) я ж не написал просто надоело и не хочу. а добавил причину, потому что мне так показалось, возникли сомнения . Если кто то считает что это не причина, это его воля так судить и думать я что плохой программист т.к. можно в след раз и не слушать меня. handmadeFromRu...я раньше также в модель прокидывал, но надоело. Ощущение искусственности Я не понимаю тебя, о какой искуственности идет речь? На пальцах. Вот моя модель представления, по сути какая-то транзакция по клиенту c доступными и выбранным состояниями. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Данная модель представления как нельзя лучше и полно описывает представление. Представление может быть любым. И WebForms, и MVC, и XAML, и WinForms, и так далее (либо с минимальными (!) переделками). Вот конкретно для MVC моё UI, а конкретно - комбобокс для состояний. Код: c# 1. 2. 3. 4. Как видишь, никаких левых вью багов, шаблонов, фильтров и прочей ереси. Что может быть проще? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 13:51 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVostt... ... вот ещё, подумалось, OWIN тогда получается вообще какая-то фигня, там же всё через словари и ключи организовано. никакой типизации! в топку! разрабов на костёр! к сожалению не работал, не знаю. Но при этом есть большой опыт работы с мапами (например HashMap) на Java - это тот же ViewBag из ASP.NET MVC, по крайней мере технически должен быть реализован так же. Ад кромешный. Мест для ошибок, достаточно простых - при достаточно! Постоянное приведение типов не способствуют увеличению быстродействия - а так же как правило колючем выступает строка - тут всегда есть место где ошибиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.01.2014, 17:32 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
Так это, никто не хочет мне объяснить, почему я не могу сделать так, как я хочу ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 17:07 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
Короче, я как всегда был невнимателен и указал IngId вместо GoodId всем спасибо за внимание. Не ожидал, что я буду причиной таких дискуссий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.01.2014, 18:36 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
А что будет, если во ViewBag будет ключ 'АБВГД' со значением "viewbag - не тру" и в модели будет свойство 'АБВГД' со значением "типизация решает", для которого мы захотим создать список - что будет в списке? По поводу передачи списков через вьюбаг - это конечно адский треш - кому вообще в голову взбрело так делать..? Догадаться можно о таком поведении, но выглядит это... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 05:12 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
ууууууу, крутота. В хелпере @Html.DropDownListFor нет ни одной перегрузки без входного параметра SelectList, но его надо выставить в null, если коллекция определена в вьюбаге. Логично? А если для читаемости заменить null, на коллекцию из вьюбага? Ну так, чтоб след был виден? Список появится, но признак выбранного элемента не отрендерится - получим пустой комбобокс. Это если свойство модели и ключ вьюбага будут иметь одинаковые значения. Логично? Возникает вопрос (hVostt, ты ходишь на собеседования?) - возможно ли сломать приложение (работающее), просто передав во ViewBag какое-то значение с произвольным ключом? DropDownListFor - это нахрен закладка какая-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 05:27 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
MonochromatiqueПо поводу передачи списков через вьюбаг - это конечно адский треш - кому вообще в голову взбрело так делать..? А в чём ты видишь проблему? Я проблемы не вижу. Вьюбэг универсален. Но никто не заставляет, можешь во вью-модель впихнуть. Почему-то вообще никого не парит, когда надо подтягивать данные во всякие дропдауны динамически, делать это с помощью насквозь нетипизированного JavaScript — это выглядит вполне естественно и пользуются этим миллионы. Но когда речь заходит про динамический вьюбэг начинаются когнитивные процессы в мозгу, выливающиеся в размазню по кафелю MonochromatiqueВ хелпере @Html.DropDownListFor нет ни одной перегрузки без входного параметра SelectList, но его надо выставить в null, если коллекция определена в вьюбаге. Логично? У родных хелперов вообще проблем гораздо больше, чем эта. Самая большая проблема — это перегрузки. В данном случае это зло. Сделали бы билдеры в виде fluent chaining, всё было бы логично до немогу. Но что ж поделаешь, сделали так. При проектировании ошибок не избежать. Опять же родными дропдаунами никто пользоваться не заставляет. Всегда можно сотворить свой расово верный и правильный. MonochromatiqueВозникает вопрос (hVostt, ты ходишь на собеседования?) - возможно ли сломать приложение (работающее), просто передав во ViewBag какое-то значение с произвольным ключом? DropDownListFor - это нахрен закладка какая-то. Возможно. Но и через типизированную модель сломать работающее приложение тоже можно. Например, передав в несколько полей типа string по гигу текста. А почему нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 14:48 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVosttMonochromatiqueПо поводу передачи списков через вьюбаг - это конечно адский треш - кому вообще в голову взбрело так делать..? А в чём ты видишь проблему? Я проблемы не вижу. Вьюбэг универсален. Но никто не заставляет, можешь во вью-модель впихнуть. Почему-то вообще никого не парит, когда надо подтягивать данные во всякие дропдауны динамически, делать это с помощью насквозь нетипизированного JavaScript — это выглядит вполне естественно и пользуются этим миллионы. Но когда речь заходит про динамический вьюбэг начинаются когнитивные процессы в мозгу, выливающиеся в размазню по кафелю MonochromatiqueВ хелпере @Html.DropDownListFor нет ни одной перегрузки без входного параметра SelectList, но его надо выставить в null, если коллекция определена в вьюбаге. Логично? У родных хелперов вообще проблем гораздо больше, чем эта. Самая большая проблема — это перегрузки. В данном случае это зло. Сделали бы билдеры в виде fluent chaining, всё было бы логично до немогу. Но что ж поделаешь, сделали так. При проектировании ошибок не избежать. Опять же родными дропдаунами никто пользоваться не заставляет. Всегда можно сотворить свой расово верный и правильный. MonochromatiqueВозникает вопрос (hVostt, ты ходишь на собеседования?) - возможно ли сломать приложение (работающее), просто передав во ViewBag какое-то значение с произвольным ключом? DropDownListFor - это нахрен закладка какая-то. Возможно. Но и через типизированную модель сломать работающее приложение тоже можно. Например, передав в несколько полей типа string по гигу текста. А почему нет? Почему ищем во вьюбаге я понять не могу?? Надо искать сразу в контексте по условиям одним-разрабам-известным. По похожему названию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:15 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
MonochromatiqueПочему ищем во вьюбаге я понять не могу?? Надо искать сразу в контексте по условиям одним-разрабам-известным. По похожему названию. По одному и тому же ключу во ViewBag и в Model, хелпер DropDownList предполагает следующее: в Model хранится значение выбранного элемента из списка в ViewBag хранится коллекция SelectListItem со всеми элементами для списка Такая логика. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:23 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
hVosttMonochromatiqueПочему ищем во вьюбаге я понять не могу?? Надо искать сразу в контексте по условиям одним-разрабам-известным. По похожему названию. По одному и тому же ключу во ViewBag и в Model, хелпер DropDownList предполагает следующее: в Model хранится значение выбранного элемента из списка в ViewBag хранится коллекция SelectListItem со всеми элементами для списка Такая логика. А мне вот интересно - такое поведение хелпера где-то описано? Я вот вчера потратил на это времени - ну явно больше, чем стоит тратить на хелпер. Конечно, если бы сразу стал шерстить форум - получилось бы меньше. Но я полез в инет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 15:41 |
|
||
|
Хочу через ViewBag передать данные во View, но просят привязать источник данных.
|
|||
|---|---|---|---|
|
#18+
MonochromatiqueА мне вот интересно - такое поведение хелпера где-то описано? Я вот вчера потратил на это времени - ну явно больше, чем стоит тратить на хелпер. Конечно, если бы сразу стал шерстить форум - получилось бы меньше. Но я полез в инет. Я обычно, если мне что-то не ясно, зырю исходники, благо они в открытом доступе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2015, 19:43 |
|
||
|
|

start [/forum/topic.php?fid=18&startmsg=38540928&tid=1356691]: |
0ms |
get settings: |
6ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
93ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 409ms |

| 0 / 0 |
