如果(会话[登录ID] == NULL)

时间:2011-07-28 09:56:25

标签: asp.net

我在我的Page_Load中写作

if(Session[loginid]== null) 

然后重定向到登录页面或其他页面.Else填充列表。我的页面中有一个下拉列表和2个按钮控件。我是否需要编写

if(Session[loginid]== null)

在填充列表函数中,它是selectedIndexchange函数和按钮事件.Selectedindexchange再次调用其中的另一个函数。我是否也需要在该函数中编写。

SamplePage.aspx

1下拉列表 2 Button1 3 Button3

SamplePage.aspx.cs

1 Page_Load()
2 Populate()
3 ddl_SelectedindexChange()
4 Button1_click()
5 Button2_click()
6 function1()
7 fuction2()

2 个答案:

答案 0 :(得分:2)

您可以编写如下基类:

public class SecurePageBase : System.Web.UI.Page.Page
{
    protected override void OnPreInit(EventArgs e)
    {
        if(Session["loginid"]== null) 
        {
            Response.Redirect("Login.aspx")
        }   

        base.OnPreInit(e);
    }
}

我们的想法是,您可以像这样创建您的网页:

public partial class DefaultPage : SecurePageBase

然后,在您网页的Pre_Render()事件中,调用您的Populate()例程来填充列表。如果用户的会话不包含LoginID,则用户将重定向回登录页面(理论上:)。

尝试一下,让我知道这是否是你需要的,否则我会删除这个答案以节省时间。

答案 1 :(得分:0)

在Page_Load()中执行此操作:

if(Session["loginid"]== null)
{
    Response.Redirect("Login.aspx")
}
else
{
    Populate();
}    

如果Session [“loginid”]为null,则用户将被重定向到登录页面,因此不会执行任何其他功能,但会调用Login.aspx的Page_Load。因此,无需在其余函数中包含空检查。