powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Веб-формы, MasterPage и общая точка входа
6 сообщений из 6, страница 1 из 1
Веб-формы, MasterPage и общая точка входа
    #33940794
muradm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ASP.NET 2.0

Интересует меня вот какой вопрос:
Имеется несколько форм, все с MasterPage.
Хочу, чтобы перед открытием каждой формы управление переходило в какое-то общее место, чтобы в нем осуществлять разные проверки + чтобы всё формы имели общие методы по работе с MasterPage.

Как я понимаю есть такие варианты:
1) Засунуть эту логику в MasterPage. В этом случае проблема в том, что MasterPage управление доходит лишь после того, как отработают OnLoad метод самой страницы. Существует ли красивый способ заставить MasterPage грузится раньше?
2) Отнаследовать все формы от некоего базового класса. В этом случае проблема в том, что пропадет визуальное редактирование (если вообще получится отнаследовать)

Можно ли развить довести до ума какой-то из этих вариантов?
или может есть другие способы, покрасивее?
...
Рейтинг: 0 / 0
Веб-формы, MasterPage и общая точка входа
    #33940861
Артем1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А сочетать нельзя 2 подхода? Все формы наследуются от одной, в которой общий код. Все формы юзают MasterPage - получают общий вид и часть контролов (базовая тоже может)?
...
Рейтинг: 0 / 0
Веб-формы, MasterPage и общая точка входа
    #33941142
muradm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Артем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 их не показывает.

Может я что-то пропустил?
...
Рейтинг: 0 / 0
Веб-формы, MasterPage и общая точка входа
    #33941544
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, muradm, Вы писали:

M>Хочу, чтобы перед открытием каждой формы управление переходило в какое-то общее место
Global.asax?

M>всё формы имели общие методы по работе с MasterPage.
Наследоваться от базового класса. Про визуальное редактирование не понял, что где пропадет? Нужно наследовать не формы, а:


namespace MyNamespace
{
    public class MyPageBase : System.Web.UI.Page
    {
        // реализуем нужную логику
    }
}

В страницах либо руками меняем наследование на собственный класс, либо в web.config
<pages baseType="MyNamespace.MyPageBase" />По всей Смоленщине нет кокаина — это временный кризис сырья
...
Рейтинг: 0 / 0
Веб-формы, MasterPage и общая точка входа
    #33942671
muradm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, 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 :-\

Заранее благодарен.
...
Рейтинг: 0 / 0
Веб-формы, MasterPage и общая точка входа
    #33942956
Gollum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, 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
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Веб-формы, MasterPage и общая точка входа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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