Как выйти из метода, если не для использования этого метода в методе - PullRequest
0 голосов
/ 11 сентября 2009
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");

при логине false

как мне написать код этой программы, чтобы не использовать условие if (LoginCheck ()) {}. Я хотел бы, чтобы это работало как PHP: php выход; функция ?

Ответы [ 3 ]

3 голосов
/ 11 сентября 2009

Иметь 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");
    }
}
1 голос
/ 11 сентября 2009

Я думаю, что это то, что вы хотите (но это не очень хорошая идея):

protected void LoginCheck()
{
    if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
    {
        MessageBoxShow("Please Login!");
        Response.End();
    }
}
0 голосов
/ 11 сентября 2009

Это плохая идея

Если кто-то читает ваш код, он предполагает, что после Logincheck () будет вызываться Session.RemoveAll () .... Если вы выполните какой-то трюк в LoginCheck, который изменится, он будет очень запутанным, читая Button_Click1 (...)

...