Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > ASP.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2015, 13:48   #1
p.paha
 
Регистрация: 16.08.2015
Сообщений: 8
По умолчанию Web Forms+RoleGroups

Имеем такой код в Site.master
asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false">
<RoleGroups>
<asp:RoleGroup Roles="Администратор">
<ContentTemplate>
<% Response.Redirect("~/Roles/Admin.aspx"); %>
</ContentTemplate>
</asp:RoleGroup>
</RoleGroups>
</asp:LoginView>
Admin.aspx также имеет MasterPageFile="~/Site.master"
понятно, что попадаем в рекурсию. Кроме как создавать Admin.aspx на основании другого мастера, можно ли как-то выкрутиться?
p.paha вне форума Ответить с цитированием
Старый 18.08.2015, 15:07   #2
p.paha
 
Регистрация: 16.08.2015
Сообщений: 8
По умолчанию

запихнул LoginView в новый ContentPlaceHolder и в Admin.aspx перекрыл его. Возможно, с точки зрения ASP - быдлокод, но работает
p.paha вне форума Ответить с цитированием
Старый 18.08.2015, 18:47   #3
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Почитайте что такое asp.net, без обид.

Все страницы можно поделить на две категории - шаблонные и нет. Шаблонные всегда основываются на каком-то шаблоне, это мастер страница (site.master), в которой определяются (по умолчанию их три) места размещения контента (placeholder). Вы можете переписать разметку автоматически созданной мастер страницы как хотите, только не забудьте, что все страницы, созданные на основе измененной мастер страницы нужно будет проверять. Дело в том, что в них вы как раз таки в ContentPlaceHolder с некоторым идом (соответствующим иду холдера в мастер странице) рисуете разметку, которая должна быть отображена именно в нем.

Вы можете отказаться от мастер страниц и создать произвольную хтмл страницу.

Если вы пишите код в странице ОСНОВЫВАЮЩЕЙСЯ на мастер странице и там пишите всякие редиректы - никаких рекурсий не будет. Рекурсия появится, если вы в мастер странице определите редирект на эту же мастер страницу.
Akeloya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
web forms Создание элемента упарвления ts-alan ASP.NET 2 01.04.2015 16:57
Как сделать невидимыми? Web Forms PinkPink ASP.NET 2 03.05.2014 14:57
Подсказки в Web-Forms $T@LKER C# (си шарп) 1 06.04.2011 12:17