2011-03-17 3 views
0

내 세션을 로그인으로 다시 설정하는 데 문제가 있습니다. 다음은 내 코드입니다 : 내 login.aspx.cs에서 지금 레이블에 포함 된 하이퍼 링크를 클릭하면 라벨의 세션을 지우는 방법

 `LabelUser.Text = ""; 

     if (Session["username"] != null) 
     { 
      LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href=/Account/Login.aspx>[Log out]</a>"; 
     } 
     else 
     { 
      LabelUser.Text = "<a href=/Account/Login.aspx>[Log in]</a>"; 
     } ` 

내가 세션이 구성되어있는 파일을, 그래서 관리자 또는 사용자 및 리디렉션에 확인하고 사용자 이름과 함께 세션을 채 웁니다. 내 문제는 그것이 완벽하게 작동하면 디버그가 [로그인]이고 클릭하면 로그인 페이지로 리디렉션된다는 것입니다. 또한 문제없이 로그인 할 수 있으며 관리자 또는 사용자 페이지로 리디렉션되며 환영 사용자 이름으로 레이블이 변경됩니다! [로그 아웃]. 하지만 내가 로그 아웃 할 때 로그 아웃 할 때 레이블이 바뀌지 않습니다. 어떤 팁? 이 경우 매개 변수로 작동하는지 모르겠습니다. 예를 들면 다음과 같습니다.

`LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href=/Account/Login.aspx?logoff=j>[Log out]</a>"; 
      ` 

이렇게 작동하는 경우이 공용 미터로 작업하는 방법에 대한 도움을 얻을 수 있습니까? 미리 감사드립니다. Mati. login.aspx? 발을 다음과 같이 코드

+0

왜 당신이 링크 버튼이없는

<a href='/Account/Login.aspx?logoff=j'> 

시도 "를 참조 '또는하지 않습니다 로그 아웃하고 거기에 코드를 작성하십시오 – Dotnet

+0

그게 쉬운 방법이 될 것이기 때문에) 나는 그것이 가능한지 알고 싶습니다. – Dieter

답변

1

변경 =이의 로그인 페이지 코드에 pageload 이벤트에

if (Session["username"] != null) 
     { 
      LabelUser.Text = "Welcome " + (String)Session["username"] + "!" + "<a href='/Account/Login.aspx?val=logout'>[Log out]</a>"; 
     } 
     else 
     { 
      LabelUser.Text = "<a href=/Account/Login.aspx>[Log in]</a>"; 
     } 

다음 로그 아웃. 또한

if(Request["val"] == "logout") 
{ 
Session["username"] = null; 
} 

는이 로그 아웃에 대한 코드 올바른 방법이 아닙니다 당신의 요구 사항

그러나 마음에 따라 자격 증명을 설정합니다.

0

나는 링크 주위에없는 당신은 사용자 이름과 로그 아웃을 표시 동일한 라벨을 사용하는 이유는

<a href=/Account/Login.aspx?logoff=j> 
관련 문제