如何在web.config文件中添加一些代码,因为此代码需要在代码隐藏文件中反复出现

问题描述 投票:0回答:1

我有一个应用程序,当用户登录页面加载事件检查时,如果没有会话用户重定向到login.aspx文件,则该用户是否有会话。但我的Web应用程序有很多页面,所以我不想在每个页面加载事件中编写会话代码,我想在页面加载事件中调用它,所以我想问我可以在web.config文件中添加此代码,如果是的话请帮助我我怎样才能做到这一点?谢谢

 if (Session["LoginUserName"] != null)
 {
      string str;
      str = Session["LoginUserName"].ToString();
      Label1.Text = str;
 }
 else
 {
      Server.Transfer("Login_Form.aspx");
 }
c# asp.net web-config
1个回答
0
投票

使您所有的页面代码都从自定义类继承。而不是原来的类System.Web.UI.Page

对所有ASPX页面都这样做

public partial class MyPage : PageCommonBase
{
  ....
}

制作自定义类PageCommonBase并检查SessionUser OnPreinit事件

public class PageCommonBase : System.Web.UI.Page
{
    protected override void OnPreInit(EventArgs e)
    {
         base.OnPreInit(e);

            if (
                    HttpContext.Current.Session.IsNewSession ||
                    HttpContext.Current.Session["LoginUserName"] == null
                )

            {
                   ......
            }
            else
                .....
    }
}     
© www.soinside.com 2019 - 2024. All rights reserved.