Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Привет. Подскажите, как синтаксически написать каст модели во вьюхе ? У меня есть класс модели, у которого имеется свойство items. В items хранится IEnumerable<MyBaseClass>. От MyBaseClass порождено 2 класса наследника, и они то и хранятся в Items. В во вьюхе, мне нужно пройтись по массиву items и отобразить в таблицу интформацию. В таблице есть столбцы для всех свойств обеих классов (которые хранятся в items, которые порождены от MyBaseClass). 1. Как делать кастинг элемента item проходя по items ? Какой синтаксис ? 2. Наверное не верно во вьюху выносить такую логику ? Вьюха же должна лишь отрисовывать модель, без какой-то логики. остается вопрос - является ли кастинг логикой ? По моему это не выходит за рамки вьюхи. 3. Как можно сделать лучше ? Были мысли как-то использовать partialView с наследованием, возложив на них обязанность отрисовки специфических. Также была мысль разделить на 2 вьюхи, каждая из которых отвечает за свой тип модели - однако мне то нужно чтобы был ОДИН список, одна вьюха. Меня интересует ответ на первый вопрос. Второй и третий чисто для развития и понимания. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:27 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ну обычно такое делают через displaytemplate, почитайте, может то что нужно вам ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:35 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
На мой взгляд, логика форматирования во вьюхе вполне допустима и не будет считаться бизнес-логикой. Я лично не стремлюсь преобразовать все исключительно в string, List<string> и bool при передаче туда. Включение PartialView конечно зависит от специфики, от перспектив развития проекта, универсального рецепта нет. Если классов строго два и больше не может стать по определению, то можно все сделать внутри одной вьюхи, в противном случае, я бы использовал PartialView (да еще и проименовал бы их согласно имени класса так, чтобы при добавлении нового, достаточно было добавить PartialView, не внося никаких изменение во View. ProBiotek1. Как делать кастинг элемента item проходя по items ? Какой синтаксис ?нее очень понятно, в чем вопрос. as, is, () - все традиционно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:38 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
handmadeFromRu, Спасибо почитаю. Но пока, пожалуй, все же сделаю через кастинг. Так проще и быстрее сейчас. На досуге почитаю и перепишу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:39 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Можете пример привести,у меня что то не получается. Код: c# 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:44 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotekShocker.Pro, Можете пример привести,у меня что то не получается. Код: c# 1. 2. 3. 4. 5. 6. 7. Так это не является корректным синтаксисом в C# внутри вьюх. Нет assignment'а. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:49 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Axeleron, а как надо ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:54 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotekНа досуге почитаю и перепишу. смотрите сами, там прочитать и понять ну 5 ну 10 минут принцип. если он вам подойдет то это будет лучший вариант чем это портянка из if ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:07 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotek, Почитав внимательно, честно скажу, плохое решение выбрано. Лучше во вьюхе уже иметь готовый набор данных для простого парсинга. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:07 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
И ведь никто не подсказал как надо написать ))) Я потом скорее всего переделаю на displaytemplate. Но сейчас это не самая важная задача - там его гору нужно сделать. Сейчас планирую сделать как попроще, а потом смогу отрефачить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:14 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotekа потом смогу отрефачить. Как показывает практика потом обычно не наступает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:17 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Axeleron, Вы определенно уходите от ответа :) Я знаю что делаю - там так и так нужно рефачить все. Сейчас мне нужен Proof of concept. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:22 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotekShocker.Pro, Можете пример привести,у меня что то не получается. Код: c# 1. 2. 3. 4. 5. 6. 7. примерно так: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:26 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
} вместо { конечно же... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:27 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
ProBiotek, ну может ваши условия вида if (item is Child1Class) разместить в контроллере, а он уж выдает partialView для вывода нужного типа ? это вариант простой , наверное если побольше знать о задаче можно и что-то выгодное придумать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:27 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Спасибо за помощь. monstrU, спасибо, я и подумывал, что тут нужны частичные представления. Но не силен, поэтому делаю как проще. Сейчас нужно сделать как получится. Это пилотный вариант. Там еще куча других таких же вьюх и контроллеров. Нужно получить хоть что-то, что я вообще смогу рефакторить, поймите это. Красный зеленый рефачинг. Мне нужен хоть какой то зеленый сейчас. Понимаете ? Когда есть опыт, конечно вы можете на несколько шагов вперед планировать и делать сразу паршиалы и темплейты. Я не могу пока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:37 |
|
||
|
Как делать кастинг модели во вьюхе ?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro Код: c# 1. кстати, тут еще нужны дополнительные скобки, а точка с запятой не нужна Код: c# 1. легко писать в студии, когда все выкрашено нужным цветом ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 18:09 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=52&tid=1356501]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 352ms |

| 0 / 0 |
