powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Полиморфизм в разметке ?
25 сообщений из 61, страница 2 из 3
Полиморфизм в разметке ?
    #38953644
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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))))
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38953790
ProBiotek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAProBiotek, покажите конкретный код: что за базовый класс, что за модель?

Вот тут
Как делать кастинг модели во вьюхе ?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38953890
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЭтот текстовый файл - просто текстовый файл, он не может иметь предков и потомков и к ООП не имеет никакого отношения .

Ещё раз повторяю, если не дошло с первого раза. В ASP.NET MVC вьюхой является класс, реализующий интерфейс IView. Если тебе надо реализовать какое-то кастомное поведение, создавай вью с нуля или наследуйся от существующей реализации. Во вью передаётся модель, как ты будешь с ней работать -- никого не колышет. Можешь хоть искусственный интеллект там замонстрячить.

Так что не неси чепухи. Razor это движок представлений ещё раз тебе говорю. Если у тебя претензии к тому, что типа представления не являются каким-то ООП, тогда начни сначала с претензий к HTML, который тоже никакого отношения к ООП не имеет.

У тя в голове сплошнейшая каша. Посмотри, а в кастрюле есть ООП? А под диваном? Хорошо искал?


ЕвгенийВВ ASP.NET MVC нет никакого колдовства и не надо забивать голову молодым программистам.
К тому же все это чудо интенсивно юзает рефлекшен и DLR , сгиная перфоманс.

Опять херню несёшь. Чё за бред про DLR и перфоманс? Ты чего там употребляешь? Не кури больше веники.

ЕвгенийВЗа что боролись, на то и напоролись. Хотели ведь вынести все лишнее из *.aspx.cs))))

При чём тут "лишнее"? Это совершенно другой архитектурный принцип . Если ты у самолёта отпилишь крылья, он не станет автомобилем, по твоей аналогии с "избавлением от aspx.cs". Крепкая по ходу трава? )))))
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38953900
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВЭтот текстовый файл - просто текстовый файл

Позволю себе сделать для тебя ещё одно открытие: Razor-шаблоны компилируются, это по сути такой же текстовый файл, как файл *.cs

Чудеса, правда? Ты либо читаешь букварь, а потом с советами лезешь, либо не суёшься пока сам не допетришь.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38953910
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВно там тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получитьчаго? накуа?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38953913
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProBiotekskyANAProBiotek, покажите конкретный код: что за базовый класс, что за модель?

Вот тут
Как делать кастинг модели во вьюхе ? что вот там? текст какой-то... где код?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954057
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,
Я тебе привел 2 стандартных реализации + 4 сторонних IViev + 1 скомужженная тобой со стакоферфлоф.
Приведи хотя бы еще пару?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954058
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЕвгенийВно там тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получитьчаго? накуа?
А как иначе?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954063
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANAпропущено...
чаго? накуа?
А как иначе?давай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954066
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAдавай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах?
Реализовать Render и записать в System.IO.TextWriter передаваемый вторым параметром, всю ту мутатень, которая потребуется.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954070
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANAдавай для начала разберемся, что значит "реализовывать вывод всех HTML тегов", как ты себе это представляешь? Надеюсь не как WebControls в формах?
Реализовать Render и записать в System.IO.TextWriter передаваемый вторым параметром, всю ту мутатень, которая потребуется.ну и что будет делать твоя реализация, если в представлении нет ничего кроме голого HTML?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954082
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Я ничего не собираюсь реализовывать, голый html можно отдать как статический файл.
ТС хотел сделать базовый класс и два наследника, Razor этого не позволяет.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954089
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA,
Я ничего не собираюсь реализовывать, голый html можно отдать как статический файл.нууу, так не интересно.. вот есть у тебя какой-то свой View Engine, понимающий .yourhtml файлы.
Ты будешь писать для каждого HTML тега в файле какую-то реализацию?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954099
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
А ты пишешь в том же aspx свою реализацию для каждого тега?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954152
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВhVostt,
Я тебе привел 2 стандартных реализации + 4 сторонних IViev + 1 скомужженная тобой со стакоферфлоф.
Приведи хотя бы еще пару?

Ты чего такой трудный-то? Любой Razor-файл компилируется в класс! Более того, ты в самом Razor-файле можешь указать базовый класс с помощью инструкции @inherits. Какие ещё тебе примеры нужны? Вьюха это класс. Повторить может быть для полного усвоения??
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954153
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВТС хотел сделать базовый класс и два наследника, Razor этого не позволяет.

Позволяет, но реализацию "наследования" тебе придётся самому сделать, так как разор не в теме, что ты понимаешь под "наследованием", что нужно делать? Добавлять атрибуты в теги? Добавлять теги? Где? Сверху? Снизу? Внутри? Если внутри, то где? Всё тоже самое нужно будет решать в любом движке, даже в aspx, не имеет значения с помощью чего ты рендеришь. Или приводи реальный пример наследования на aspx в вебформ. Удиви нас!
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954224
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA,
А ты пишешь в том же aspx свою реализацию для каждого тега?Еврей какой-то :)

Что ты имел ввиду под "тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получить, что очень непроизводительно и чревато ошибками"?
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954617
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 это не класс.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954620
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕвгенийВТС хотел сделать базовый класс и два наследника, Razor этого не позволяет.

Позволяет, но реализацию "наследования" тебе придётся самому сделать, так как разор не в теме, что ты понимаешь под "наследованием", что нужно делать? Добавлять атрибуты в теги? Добавлять теги? Где? Сверху? Снизу? Внутри? Если внутри, то где? Всё тоже самое нужно будет решать в любом движке, даже в aspx, не имеет значения с помощью чего ты рендеришь. Или приводи реальный пример наследования на aspx в вебформ. Удиви нас!
Вообще в модели компиляции ASP.NET webforms в результате создается класс, наследованный например от например вебформы в котором собрано все что есть в *.aspx и *.aspx.cs
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954622
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAЕвгенийВskyANA,
А ты пишешь в том же aspx свою реализацию для каждого тега?Еврей какой-то :)

Что ты имел ввиду под "тебе придется реализовывать вывод всех HTML тегов, которые ты жаждешь получить, что очень непроизводительно и чревато ошибками"?
Я имел ввиду только то что имел.
Если ты делаешь реализацию IView, то должен писать во writer все сам, например с помощью того же T4.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954625
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВОдна из реализаций IView действительно использует Razor генерации HTML, но сам Razor это не класс.

Сам Razor это движок представлений. Всё верно. Движок. Что делает движок? Компилирует Razor-шаблон в класс. Класс это из мира ООП.

ЕвгенийВВнутри разметки ты можешь пользоваться членами этого класса, а так же получить типизированный доступ к модели. Но хоть запереопределяйся, с помощью него ты сможешь влиять на разметку.

Ещё как можно. Но ты не можешь, мы это уже поняли.

ЕвгенийВПочитай на досуге что такое компиляция.

Сразу же после того, как ты освоишь азы
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954627
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВВообще в модели компиляции ASP.NET webforms в результате создается класс, наследованный например от например вебформы в котором собрано все что есть в *.aspx и *.aspx.cs

Ты покажи ООП в разметке на вебформах, не будь голословом.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954629
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ,

А хочешь есчо одно великое чудо!? Можно все Razor-шаблоны скомпилировать прям в DLL! Т.е. никаких больше текстовых файлов. Это легко.
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954839
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttСразу же после того, как ты освоишь азы
миссия невыполнима
...
Рейтинг: 0 / 0
Полиморфизм в разметке ?
    #38954851
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttЕвгенийВ,

А хочешь есчо одно великое чудо!? Можно все Razor-шаблоны скомпилировать прям в DLL! Т.е. никаких больше текстовых файлов. Это легко.
И получить такую мутатень? :)

aspx/ascx тоже можно запихнуть в dll и что?
...
Рейтинг: 0 / 0
25 сообщений из 61, страница 2 из 3
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Полиморфизм в разметке ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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