Pergunta

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");
}

Como não processar

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

Quando o Login false

Como faço para codificar o programa não usar um condição if (LoginCheck ()) {}. Eu gostaria que ele funcione como php: php saída; função ?

Foi útil?

Solução

Tem LoginCheck retornar um valor booleano que indica sucesso ou fracasso como este:

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

Em seguida, você pode usar esse valor para determinar se deve ou não fazer qualquer outra coisa como isto:

protected void Button1_Click(object sender, EventArgs e)
{
    if (LoginCheck()) 
    {
        Session.RemoveAll();
        Button1.PostBackUrl = "~/Default.aspx";
        Response.Redirect("~/Default.aspx");
    }
}

Outras dicas

Eu acho que isso é o que você quer (mas não é tão bom de uma idéia):

protected void LoginCheck()
{
    if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
    {
        MessageBoxShow("Please Login!");
        Response.End();
    }
}

Esta é uma má idéia

Se alguém está lendo o seu código, eles estão indo para supor que, após Logincheck () que Session.RemoveAll () ... será chamado. Se você fizer algum truque na LoginCheck que as mudanças que ele vai ser muito confuso lendo Button_Click1 (...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top