Я создал базовый класс для своих страниц, где я могу получить / установить определенные свойства сеанса.
public class MyBasePage : System.Web.UI.Page
{
public MyUser SessionUser
{
get
{
return (MyUser) Session["User"];
}
set
{
Session["User"] = value;
}
}
}
(я знаю, что членство в ASP.NET предоставляет класс пользователя, но я не могу использоватьЧленство по старым причинам атм.)
Теперь я могу легко получить доступ к этим свойствам со всех страниц, но они мне нужны и в некоторых элементах управления.Теперь я вижу два варианта:
- Получить страницу из элемента управления и привести ее к MyBasePage.Затем перейдите к свойству.
- Дублируйте код в классе BaseControl и унаследуйте от него элемент управления.(очевидно, ошибочен из-за дублированного кода)
- Используйте статический класс и поместите туда свойства.(используя HttpContext.Current.Session)
- что-то еще?
Какой лучший подход?