Вот думаю сейчас, использовать мне это дело или нет. Задача стоит такая: несколько страниц должны содержать в себе заголовок, верхнее меню, левое меню. Можно это дело решить простой вставкой контролов, а можно, наоборот, использовать мастер-пейдж. С контролами все понятно, некоторое дублирование кода есть, а вот с мастером вопросов больше. В книжнке умной и толстой рассказывается, как ее использовать, но при этом куча оговорок — что вот, де, есть такая проблема при использовании мастер, но решается она так-то, а есть такая... и т.д. и т.п.
Кто использовал мастер, действительно ли много геморроя с этим, и есть ли смысл париться?
спасибо
Здравствуйте, Аноним, Вы писали:
А>Кто использовал мастер, действительно ли много геморроя с этим, и есть ли смысл париться?
Если задача не выходит за рамки того, как это себе представляли разработчики ASP.NET 2, то париться не придется совсем — все очень логично, понятно и красиво. Судя по стоящей задаче так оно и есть.
А вот если задача более сложная, то моментально наталкиваешься на странные недоделки о которых почему-то разработчики не подумали.
Здравствуйте, VoDmAl, Вы писали:
VDA>А вот если задача более сложная, то моментально наталкиваешься на странные недоделки о которых почему-то разработчики не подумали.
Здравствуйте, rameel, Вы писали:
R>Можно с этого места по подробнее
Долго вспоминал, что же меня не устраивало, когда мы проект переписывали под ASP.NET 2 с классического ASP.
Помню, что было несколько вещей вызывавших искреннее удивление — почему они не докрутили это до конца, бросив на середине.
Вот сделали они такую понятную и логичную вещь, как MasterPage. Её идея лежит на поверхности и у всех, кто создавал более или менее крупные проекты, нечто подобное есть и используется.
Заслуга Microsoft в том, что теперь такой правильный подход смогут использовать даже начинающие, а не только те, кто сам до этого дошёл.
А вот почему нет чего-нибудь типа MasterControl? Я аналогично как в случае с MasterPage делаю контрол. А на конечных страницах в PlaceHolder-ы всех MasterPage и MasterControl-ов "вставляется" контент.
У меня, например раньше, был базовый абстрактный класс HtmlOuter и каждый контрол, страница или её часть его реализовывали. Каждый HtmlOuter имел именованный массив потомков и выводил их в нужных местах.
Почему в Microsoft таким HtmlOuter-ом сделали Page, а не сделали для контролов — для меня загадка.
Было что-то и еще. Не уверен, что касалось это только MasterPage, а скорее всех возможностей ASP.NET 1/2
PS: Должен предупредить, что я могу и заблуждаться, проект переписывался в очень сжатые сроки и на исследования всех вохможностей нового для меня ASP.NET 2 времени было довольно мало.
Здравствуйте, rameel, Вы писали:
R>Здравствуйте, VoDmAl, Вы писали:
VDA>>А вот если задача более сложная, то моментально наталкиваешься на странные недоделки о которых почему-то разработчики не подумали.
R>Можно с этого места по подробнее
у меня возник вопрос "нужно ли вообще использовать MasterPage" с приходом AJAX в массы. Теперь опять — одна aspx страница и куча контролов, которые AJAX'ом подгружаются в рабочую область
Здравствуйте, VoDmAl, Вы писали:
VDA>PS: Должен предупредить, что я могу и заблуждаться, проект переписывался в очень сжатые сроки и на исследования всех вохможностей нового для меня ASP.NET 2 времени было довольно мало.
Уже обсуждалось. Во-первых, мастер-страницы могут быть вложенными (собственно это и получается master-control в данном понимании), во-вторых, шаблонные элементы управления уже в ASP.NET есть (Templated Control), правда не со столь-богатой поддержкой в дизайнере.
В лучших книгах всегда нет имен, и в лучших картинах — лиц
Здравствуйте, parapet, Вы писали:
P>у меня возник вопрос "нужно ли вообще использовать MasterPage" с приходом AJAX в массы. Теперь опять — одна aspx страница и куча контролов, которые AJAX'ом подгружаются в рабочую область
Мне лично непонятна связь между неиспользованием MasterPage и приходом AJAX. В частности для использовани MasterPage в ASP.NET AJAX предусмотрен специальный элемент управления ScriptManagerProxy. Я сам использую и MasterPage и AJAX и они отлично уживаются вместе.
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, parapet, Вы писали:
P>>у меня возник вопрос "нужно ли вообще использовать MasterPage" с приходом AJAX в массы. Теперь опять — одна aspx страница и куча контролов, которые AJAX'ом подгружаются в рабочую область
G>Мне лично непонятна связь между неиспользованием MasterPage и приходом AJAX. В частности для использовани MasterPage в ASP.NET AJAX предусмотрен специальный элемент управления ScriptManagerProxy. Я сам использую и MasterPage и AJAX и они отлично уживаются вместе.
Здравствуйте, Аноним, Вы писали:
А>Вот думаю сейчас, использовать мне это дело или нет. Задача стоит такая: несколько страниц должны содержать в себе заголовок, верхнее меню, левое меню. Можно это дело решить простой вставкой контролов, а можно, наоборот, использовать мастер-пейдж. С контролами все понятно, некоторое дублирование кода есть, а вот с мастером вопросов больше. В книжнке умной и толстой рассказывается, как ее использовать, но при этом куча оговорок — что вот, де, есть такая проблема при использовании мастер, но решается она так-то, а есть такая... и т.д. и т.п. А>Кто использовал мастер, действительно ли много геморроя с этим, и есть ли смысл париться? А>спасибо
G>>Общий шаблон контейнера контента
P>а если страница одна в случае с AJAX?
ooh... god...
Вы сам придумали такой паттерн, вернее антипатерн или где то подсмотрели?
я бы не стал так делать... не стоит перебарщивать с Ajax хоть вещь это безусловно полезная и мощная.
тут навскидку сразу проблемы:
— проблема F5
— проблема сохранения ссылки на логическую часть приложения
— слишком перенагруженая логика самой страницы, которую очень сложно покрыть тестами.
Здравствуйте, Ned1, Вы писали:
N>Здравствуйте, parapet, Вы писали:
P>>а если страница одна в случае с AJAX?
N>Весь проект на одной странице — зло. Даже с учетом AJAX.
ну в целом согласен Просто хотел показать, что ценность Master Pages упала с приходом AJAX
Здравствуйте, mogadanez, Вы писали:
G>>>Общий шаблон контейнера контента
P>>а если страница одна в случае с AJAX?
M>ooh... god... M>Вы сам придумали такой паттерн, вернее антипатерн или где то подсмотрели? M>я бы не стал так делать... не стоит перебарщивать с Ajax хоть вещь это безусловно полезная и мощная.
M>тут навскидку сразу проблемы: M> — проблема F5 M> — проблема сохранения ссылки на логическую часть приложения M> — слишком перенагруженая логика самой страницы, которую очень сложно покрыть тестами.
заюзали телерик контрол (TabStrip) — там как раз лучше всего было делать одной страницей В итоге одна aspx страница
Здравствуйте, mogadanez, Вы писали:
M>тут навскидку сразу проблемы: M> — проблема F5 M> — проблема сохранения ссылки на логическую часть приложения M> — слишком перенагруженая логика самой страницы, которую очень сложно покрыть тестами.
И все это не индексируется к тому же.
Было обсуждение здесь