Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVosttБукварь открой для начала. View в ASP.NET MVC это класс, реализующий интерфейс IView. Хорошо, какие есть наследники у IView? System.Web.Mvc.RazorView и System.Web.Mvc.WebFormView, первый отвечает за CSHTML, второй за ASPX. Тут есть ссылки на альтернативы. Действительно, ты сможешь реализовать наследника IView (кстати ссылка на оригинал запощено тобой кода), но там тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получить, что очень непроизводительно и чревато ошибками. Дабы избавить слабого человека от этого, сделали в частности Razor. Последний - такая штука, которому скармливаешь вообще говоря текстовый файл и объект некоторого класса, и который на выходе дает в общем случае HTML, который и отправляется браузеру. Этот текстовый файл - просто текстовый файл, он не может иметь предков и потомков и к ООП не имеет никакого отношения . Причем этот механизм не обеспечивает никакой валидации во время разработки, например ты можешь не закрыть тег table или двум элементам назначить одинаковый id, Razor это схавает и отработает, так же как и браузеры, ибо они заточены обходить такие ляпы. В ASP.NET MVC нет никакого колдовства и не надо забивать голову молодым программистам. К тому же все это чудо интенсивно юзает рефлекшен и DLR , сгиная перфоманс. hVostt Несёшь какой-то бессвязный бред, какая ещё балалайка? В Razor после символа @ идёт чистый код на C#, я видал системы, где в Razor была написана практически вся логика приложения, включая работу с БД. Это конечно ахтунг, но сути не меняет. За что боролись, на то и напоролись. Хотели ведь вынести все лишнее из *.aspx.cs)))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 14:49 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANAProBiotek, покажите конкретный код: что за базовый класс, что за модель? Вот тут Как делать кастинг модели во вьюхе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 16:28 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВЭтот текстовый файл - просто текстовый файл, он не может иметь предков и потомков и к ООП не имеет никакого отношения . Ещё раз повторяю, если не дошло с первого раза. В ASP.NET MVC вьюхой является класс, реализующий интерфейс IView. Если тебе надо реализовать какое-то кастомное поведение, создавай вью с нуля или наследуйся от существующей реализации. Во вью передаётся модель, как ты будешь с ней работать -- никого не колышет. Можешь хоть искусственный интеллект там замонстрячить. Так что не неси чепухи. Razor это движок представлений ещё раз тебе говорю. Если у тебя претензии к тому, что типа представления не являются каким-то ООП, тогда начни сначала с претензий к HTML, который тоже никакого отношения к ООП не имеет. У тя в голове сплошнейшая каша. Посмотри, а в кастрюле есть ООП? А под диваном? Хорошо искал? ЕвгенийВВ ASP.NET MVC нет никакого колдовства и не надо забивать голову молодым программистам. К тому же все это чудо интенсивно юзает рефлекшен и DLR , сгиная перфоманс. Опять херню несёшь. Чё за бред про DLR и перфоманс? Ты чего там употребляешь? Не кури больше веники. ЕвгенийВЗа что боролись, на то и напоролись. Хотели ведь вынести все лишнее из *.aspx.cs)))) При чём тут "лишнее"? Это совершенно другой архитектурный принцип . Если ты у самолёта отпилишь крылья, он не станет автомобилем, по твоей аналогии с "избавлением от aspx.cs". Крепкая по ходу трава? ))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:48 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВЭтот текстовый файл - просто текстовый файл Позволю себе сделать для тебя ещё одно открытие: Razor-шаблоны компилируются, это по сути такой же текстовый файл, как файл *.cs Чудеса, правда? Ты либо читаешь букварь, а потом с советами лезешь, либо не суёшься пока сам не допетришь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:53 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВно там тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получитьчаго? накуа? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:57 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ProBiotekskyANAProBiotek, покажите конкретный код: что за базовый класс, что за модель? Вот тут Как делать кастинг модели во вьюхе ? что вот там? текст какой-то... где код? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 17:58 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVostt, Я тебе привел 2 стандартных реализации + 4 сторонних IViev + 1 скомужженная тобой со стакоферфлоф. Приведи хотя бы еще пару? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:29 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANAЕвгенийВно там тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получитьчаго? накуа? А как иначе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:31 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAпропущено... чаго? накуа? А как иначе?давай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:38 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANAдавай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах? Реализовать Render и записать в System.IO.TextWriter передаваемый вторым параметром, всю ту мутатень, которая потребуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:47 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANAдавай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах? Реализовать Render и записать в System.IO.TextWriter передаваемый вторым параметром, всю ту мутатень, которая потребуется.ну и что будет делать твоя реализация, если в представлении нет ничего кроме голого HTML? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 20:53 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANA, Я ничего не собираюсь реализовывать, голый html можно отдать как статический файл. ТС хотел сделать базовый класс и два наследника, Razor этого не позволяет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 21:17 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANA, Я ничего не собираюсь реализовывать, голый html можно отдать как статический файл.нууу, так не интересно.. вот есть у тебя какой-то свой View Engine, понимающий .yourhtml файлы. Ты будешь писать для каждого HTML тега в файле какую-то реализацию? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 21:33 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANA, А ты пишешь в том же aspx свою реализацию для каждого тега? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2015, 21:55 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВhVostt, Я тебе привел 2 стандартных реализации + 4 сторонних IViev + 1 скомужженная тобой со стакоферфлоф. Приведи хотя бы еще пару? Ты чего такой трудный-то? Любой Razor-файл компилируется в класс! Более того, ты в самом Razor-файле можешь указать базовый класс с помощью инструкции @inherits. Какие ещё тебе примеры нужны? Вьюха это класс. Повторить может быть для полного усвоения?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 05:41 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВТС хотел сделать базовый класс и два наследника, Razor этого не позволяет. Позволяет, но реализацию "наследования" тебе придётся самому сделать, так как разор не в теме, что ты понимаешь под "наследованием", что нужно делать? Добавлять атрибуты в теги? Добавлять теги? Где? Сверху? Снизу? Внутри? Если внутри, то где? Всё тоже самое нужно будет решать в любом движке, даже в aspx, не имеет значения с помощью чего ты рендеришь. Или приводи реальный пример наследования на aspx в вебформ. Удиви нас! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 05:43 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВskyANA, А ты пишешь в том же aspx свою реализацию для каждого тега?Еврей какой-то :) Что ты имел ввиду под "тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получить, что очень непроизводительно и чревато ошибками"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 09:34 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVosttЕвгенийВhVostt, Я тебе привел 2 стандартных реализации + 4 сторонних IViev + 1 скомужженная тобой со стакоферфлоф. Приведи хотя бы еще пару? Ты чего такой трудный-то? Любой Razor-файл компилируется в класс! Это новый виток развития! Почитай на досуге что такое компиляция. hVostt Более того, ты в самом Razor-файле можешь указать базовый класс с помощью инструкции @inherits. Какие ещё тебе примеры нужны? По умолчанию это System.Web.Mvc.WebViewPage<TModel> или System.Web.Mvc.WebViewPage, можно отнаследоваться от них и передать свой. Так же была введена директива @model, дабы меньше букв и не путать неокрепшие умы. Внутри разметки ты можешь пользоваться членами этого класса, а так же получить типизированный доступ к модели. Но хоть запереопределяйся, с помощью него ты сможешь влиять на разметку. hVostt Вьюха это класс. Повторить может быть для полного усвоения?? Одна из реализаций IView действительно использует Razor генерации HTML, но сам Razor это не класс. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:47 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVosttЕвгенийВТС хотел сделать базовый класс и два наследника, Razor этого не позволяет. Позволяет, но реализацию "наследования" тебе придётся самому сделать, так как разор не в теме, что ты понимаешь под "наследованием", что нужно делать? Добавлять атрибуты в теги? Добавлять теги? Где? Сверху? Снизу? Внутри? Если внутри, то где? Всё тоже самое нужно будет решать в любом движке, даже в aspx, не имеет значения с помощью чего ты рендеришь. Или приводи реальный пример наследования на aspx в вебформ. Удиви нас! Вообще в модели компиляции ASP.NET webforms в результате создается класс, наследованный например от например вебформы в котором собрано все что есть в *.aspx и *.aspx.cs ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:51 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
skyANAЕвгенийВskyANA, А ты пишешь в том же aspx свою реализацию для каждого тега?Еврей какой-то :) Что ты имел ввиду под "тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получить, что очень непроизводительно и чревато ошибками"? Я имел ввиду только то что имел. Если ты делаешь реализацию IView, то должен писать во writer все сам, например с помощью того же T4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:54 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВОдна из реализаций IView действительно использует Razor генерации HTML, но сам Razor это не класс. Сам Razor это движок представлений. Всё верно. Движок. Что делает движок? Компилирует Razor-шаблон в класс. Класс это из мира ООП. ЕвгенийВВнутри разметки ты можешь пользоваться членами этого класса, а так же получить типизированный доступ к модели. Но хоть запереопределяйся, с помощью него ты сможешь влиять на разметку. Ещё как можно. Но ты не можешь, мы это уже поняли. ЕвгенийВПочитай на досуге что такое компиляция. Сразу же после того, как ты освоишь азы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:56 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВВообще в модели компиляции ASP.NET webforms в результате создается класс, наследованный например от например вебформы в котором собрано все что есть в *.aspx и *.aspx.cs Ты покажи ООП в разметке на вебформах, не будь голословом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:57 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
ЕвгенийВ, А хочешь есчо одно великое чудо!? Можно все Razor-шаблоны скомпилировать прям в DLL! Т.е. никаких больше текстовых файлов. Это легко. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 13:59 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVosttСразу же после того, как ты освоишь азы миссия невыполнима ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 16:53 |
|
||
|
Полиморфизм в разметке ?
|
|||
|---|---|---|---|
|
#18+
hVosttЕвгенийВ, А хочешь есчо одно великое чудо!? Можно все Razor-шаблоны скомпилировать прям в DLL! Т.е. никаких больше текстовых файлов. Это легко. И получить такую мутатень? :) aspx/ascx тоже можно запихнуть в dll и что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.05.2015, 17:05 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=38954851&tid=1356498]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 429ms |

| 0 / 0 |
