メソッドでこのメソッドを使用しない場合にメソッドを終了する方法

StackOverflow https://stackoverflow.com/questions/1408899

  •  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 exit;関数

役に立ちましたか?

解決

次のように 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(...)の読み取りが非常に混乱するという変更を行う場合、

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top