Как выйти из метода, если не для использования этого метода в методе
-
05-07-2019 - |
Вопрос
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; функция ?
Решение
Пусть 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");
}
}
Другие советы
Я думаю, что это то, что вы хотите (но это не очень хорошая идея):
protected void LoginCheck()
{
if (Session["Login_Status"] == null || Session["Login_Status"] == "false")
{
MessageBoxShow("Please Login!");
Response.End();
}
}
Это плохая идея
Если кто-то читает ваш код, он будет предполагать, что после Logincheck () будет вызываться Session.RemoveAll () .... Если вы сделаете какой-то трюк в LoginCheck, который изменится, он будет очень запутанным, читая Button_Click1 (...)