0
protected void LoginCheck()
{
    if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
    {
        MessageBoxShow("Please Login!");
    }
}
protected void Button1_Click(object sender, EventArgs e)
{
    LoginCheck();
    Session.RemoveAll();
    Button1.PostBackUrl = "~/Default.aspx";
    Response.Redirect("~/Default.aspx");
}

如何不处理

    Session.RemoveAll();
    Button1.PostBackUrl = "~/Default.aspx";
    Response.Redirect("~/Default.aspx");

当登录为假

我如何编写此程序以不使用条件 if (LoginCheck()) { }。我希望它像 php: php exit; 功能

4

3 回答 3

3

返回LoginCheck一个指示成功或失败的布尔值,如下所示:

protected Boolean LoginCheck()
{
    if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
    {
        MessageBoxShow("Please Login!");
        return false;
    }
    return true;
}

然后您可以使用该值来确定是否执行其他类似的操作:

protected void Button1_Click(object sender, EventArgs e)
{
    if (LoginCheck()) 
    {
        Session.RemoveAll();
        Button1.PostBackUrl = "~/Default.aspx";
        Response.Redirect("~/Default.aspx");
    }
}
于 2009-09-11T04:00:04.897 回答
1

我认为这就是您想要的(但这不是一个好主意):

protected void LoginCheck()
{
    if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
    {
        MessageBoxShow("Please Login!");
        Response.End();
    }
}
于 2009-09-11T04:22:59.180 回答
0

这是一个坏主意

如果有人正在阅读您的代码,他们会假设在 Logincheck() 之后 Session.RemoveAll() ... 将被调用。如果你在 LoginCheck 中做了一些改变,那么阅读 Button_Click1(...)

于 2009-09-11T18:34:00.593 回答