메소드 에서이 메소드를 사용하지 않을 때 방법을 종료하는 방법

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

거짓으로 로그인 할 때

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

이것은 나쁜 생각입니다

어떤 사람이 당신의 코드를 읽고 있다면, 그들은 session.removeall ()가 호출 될 것이라고 loginCheck () 이후에 호출 될 것이라고 가정합니다. LoginCheck에서 약간의 트릭을 수행하면 매우 혼란 스러울수록 읽기 버튼 _click1 (...)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top