Domanda

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

come non elaborare

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

quando Login falso

  

come posso codificare questo programma per non usare a   condizione if (LoginCheck ()) {}. Mi piacerebbe che funzionasse come   php:    uscita php; funzione ?

È stato utile?

Soluzione

Chiedi a LoginCheck di restituire un valore booleano che indica l'esito positivo o negativo di questo tipo:

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

Quindi puoi usare quel valore per determinare se fare qualsiasi altra cosa come questa:

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

Altri suggerimenti

Penso che questo sia quello che vuoi (ma non è una buona idea):

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

Questa è una cattiva idea

Se qualcuno sta leggendo il tuo codice, supporrà che dopo Logincheck () verrà chiamato Session.RemoveAll () .... Se fai qualche trucco in LoginCheck che cambia che sarà molto confuso leggere Button_Click1 (...)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top