Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
ASP.NET 2.0 Интересует меня вот какой вопрос: Имеется несколько форм, все с MasterPage. Хочу, чтобы перед открытием каждой формы управление переходило в какое-то общее место, чтобы в нем осуществлять разные проверки + чтобы всё формы имели общие методы по работе с MasterPage. Как я понимаю есть такие варианты: 1) Засунуть эту логику в MasterPage. В этом случае проблема в том, что MasterPage управление доходит лишь после того, как отработают OnLoad метод самой страницы. Существует ли красивый способ заставить MasterPage грузится раньше? 2) Отнаследовать все формы от некоего базового класса. В этом случае проблема в том, что пропадет визуальное редактирование (если вообще получится отнаследовать) Можно ли развить довести до ума какой-то из этих вариантов? или может есть другие способы, покрасивее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 16:13 |
|
||
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
А сочетать нельзя 2 подхода? Все формы наследуются от одной, в которой общий код. Все формы юзают MasterPage - получают общий вид и часть контролов (базовая тоже может)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 16:27 |
|
||
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Артем1, Вы писали: А>А сочетать нельзя 2 подхода? Все формы наследуются от одной, в которой общий код. Все формы юзают MasterPage — получают общий вид и часть контролов (базовая тоже может)? Попробовал. Создал Main и Child формы. Компилится и запускается, но 1) Выскакивают warnings типа: 'Child.Profile' hides inherited member 'Main.Profile'. Use the new keyword if hiding was intended 2) В режиме Design не происходит визуального наследования от Child Main. При запуске тоже. При этом members класса Main доступны в Child, но IntelliSense их не показывает. Может я что-то пропустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 17:58 |
|
||
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, muradm, Вы писали: M>Хочу, чтобы перед открытием каждой формы управление переходило в какое-то общее место Global.asax? M>всё формы имели общие методы по работе с MasterPage. Наследоваться от базового класса. Про визуальное редактирование не понял, что где пропадет? Нужно наследовать не формы, а: namespace MyNamespace { public class MyPageBase : System.Web.UI.Page { // реализуем нужную логику } } В страницах либо руками меняем наследование на собственный класс, либо в web.config <pages baseType="MyNamespace.MyPageBase" />По всей Смоленщине нет кокаина — это временный кризис сырья ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2006, 21:22 |
|
||
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Gollum, Вы писали: M>>Хочу, чтобы перед открытием каждой формы управление переходило в какое-то общее место G>Global.asax? Не понял, а как это указать? Session_Start же вызывается лишь при открытии сессии, или надо реагировать на какое-то другое событие? G>Наследоваться от базового класса. Про визуальное редактирование не понял, что где пропадет? Я имел ввиду, что дочерняя форма в Design Mode будет содержать элементы родительской формы и свои. А у меня она содержит только свои. G>Нужно наследовать не формы, а: G> G>namespace MyNamespace G>{ G> public class MyPageBase : System.Web.UI.Page G> { G> // реализуем нужную логику G> } G>} G> G>В страницах либо руками меняем наследование на собственный класс Именно так и делал. Получаю несколько warnings 1) Warning 1 'Child.Profile' hides inherited member 'MainNamespace.Main.Profile'. Use the new keyword if hiding was intended 2) Warning 2 'Child.ApplicationInstance' hides inherited member 'MainNamespace.Main.ApplicationInstance'. Use the new keyword if hiding was intended. Как я понимаю, это результат того, что в ASP.NET 2.0 описания классов частично скрыто. Как можно от этого избавится? Кроме того, студия не подсвечивает члены базового класса. G><pages baseType="MyNamespace.MyPageBase" /> Про это не знал, спасибо, но почему то студия упорно отказывается видеть мой базовый класс MainNamespace.Main :-\ Заранее благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 12:32 |
|
||
|
Веб-формы, MasterPage и общая точка входа
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, muradm, Вы писали: M>Не понял, а как это указать? Session_Start же вызывается лишь при открытии сессии, или надо реагировать на какое-то другое событие? BeginRequest G>>Наследоваться от базового класса. Про визуальное редактирование не понял, что где пропадет? M>Я имел ввиду, что дочерняя форма в Design Mode будет содержать элементы родительской формы и свои. А у меня она содержит только свои. Не нужно наследоваться от формы. Нужно наследоваться от класса. Форма содержит автогенерируемые дополнения, и разметку aspx которая в случае базового класса не нужна. M>Именно так и делал. Получаю несколько warnings M>1) Warning 1 'Child.Profile' hides inherited member 'MainNamespace.Main.Profile'. Use the new keyword if hiding was intended M>2) Warning 2 'Child.ApplicationInstance' hides inherited member 'MainNamespace.Main.ApplicationInstance'. Use the new keyword if hiding was intended. Нужно не форму использовать, а обычный класс, в App_Code или вообще в отдельной библиотеке. Дизайнер в этом случае для базового класса недоступен, придется писать все в коде. G>><pages baseType="MyNamespace.MyPageBase" /> M>Про это не знал, спасибо, но почему то студия упорно отказывается видеть мой базовый класс MainNamespace.Main :-\ Посмотрю, может надо полное имя типа указать.He's taking the preventive measures, It must have been too late ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2006, 13:48 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=895&tid=1390226]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
44ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 284ms |
| total: | 446ms |

| 0 / 0 |
