我为我的页面创建了一个基类,我可以在其中获取/设置某些会话属性。
public class MyBasePage : System.Web.UI.Page
{
public MyUser SessionUser
{
get
{
return (MyUser) Session["User"];
}
set
{
Session["User"] = value;
}
}
}
(我知道ASP.NET Membership提供了一个User类,但由于遗留原因,我不能使用Membership。)
我现在可以轻松地从每个页面访问这些属性,但我也需要在某些控件中使用它们。我现在看到两个选择:
最好的方法是什么?
答案 0 :(得分:3)
我肯定会选择3并使用静态类。这样可以节省您的页面和控件,使其不必继承简单的方法/属性调用。
您在选项2中的评论是您不应该首先使用继承方法的原因。选项1,只是采取选项2并使其更难管理。
答案 1 :(得分:0)
如果你在项目中使用了很多会话变量,我建议你有一个SessionManager类,你可以在其中设置getter和setter属性。因此,根据您的示例,只要用户登录,您就可以设置会话值。现在,您可以从项目的任何位置访问此会话值。