Wie Methode zu beenden, wenn für diese Methode nicht in Verfahren verwendet
-
05-07-2019 - |
Frage
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");
}
, wie man nicht verarbeiten
Session.RemoveAll();
Button1.PostBackUrl = "~/Default.aspx";
Response.Redirect("~/Default.aspx");
, wenn Anmeldung false
Wie code ich dieses Programm nicht zu verwenden, Bedingung if (LoginCheck ()) {}. Ich möchte es funktionieren wie php: php exit; Funktion ?
Lösung
Haben LoginCheck
einen Booleschen Wert zurück angibt, Erfolg oder Misserfolg wie folgt aus:
protected Boolean LoginCheck()
{
if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
{
MessageBoxShow("Please Login!");
return false;
}
return true;
}
Dann können Sie diesen Wert verwenden, um zu bestimmen, ob oder ob nicht irgendetwas anderes wie dies zu tun:
protected void Button1_Click(object sender, EventArgs e)
{
if (LoginCheck())
{
Session.RemoveAll();
Button1.PostBackUrl = "~/Default.aspx";
Response.Redirect("~/Default.aspx");
}
}
Andere Tipps
Ich denke, das ist, was Sie wollen (aber es ist nicht so gut von einer Idee):
protected void LoginCheck()
{
if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
{
MessageBoxShow("Please Login!");
Response.End();
}
}
Dies ist eine schlechte Idee,
Wenn jemand Ihren Code liest, sie gehen, dass nach Logincheck zu übernehmen (), dass Session.RemoveAll () ... aufgerufen. Wenn Sie einig Trick in LoginCheck tun, das ändert, dass es sehr verwirrend sein Lesen Button_Click1 (...)