2011-05-02 5 views
0

마스터 페이지에서 메뉴 및 하위 메뉴를 빠르게 생성하고 있습니다.ASP.Net 응용 프로그램의 AddMenu 항목에 문제가 있습니다.

일반적인 로그 오프 페이지로 연결 (AddMenu 및 로그 오프 페이지에 URL 지정)하는 링크가 있습니다. 그것은 html 페이지입니다. 로그 오프하기 전에 세션이 중단되고 지워지는지 확인합니다.

이 응용 프로그램을 서버에 배포하면 응용 프로그램이 실행되지 않습니다.

수정하려면 새 aspx 페이지를 추가하십시오. Logout.aspx를 말하십시오 마스터 페이지에서 로그 아웃 링크를 클릭하면 메뉴 항목을 추가하여 Logout.aspx를 가리 킵니다.

Logout.aspx의 Page_Load 이벤트에서 세션을 지운 다음 로그 오프 페이지 (처음에는 마스터 페이지에서 수행)로 Response.Redirect를 지 웁니다.

이 경우 세션이 정상적으로 작동합니다. 그 이유는 무엇일까요?

+0

사이에 큰 차이가 있다는 것입니다. 지금까지 서버에 배포 할 때 실행되지 않습니까? 지금까지 설명한 문제에서 Logout.aspx 페이지의 Page_Load 이벤트를 살펴 보았습니다. 게시 할 수있는 로그 또는 오류 메시지가 있습니까? –

+0

어떻게 HTML 페이지에서 세션을 지울 수 있습니까? 일부 서버 측 코드가 관련되어 있기 때문에 aspx 페이지 여야합니까? –

+0

1) 메뉴 항목 인 AddMenu를 마스터 페이지에 추가하면 logoff.html 페이지로 리디렉션됩니다. 2) 세션을 지우려면 추가 된 메뉴 항목을 클릭하여 이벤트를 작성해야합니다. 즉. 세션을 지우고 로그 오프 페이지로 이동하십시오. 3) 작동하지 않았다. 4) 그래서 Logout.aspx 페이지를 추가했습니다. 5) 응용 프로그램에서 마스터 페이지의 로그 아웃 링크를이 페이지로 지정했습니다. 6) Page_Load 메소드의 세션을 지운 다음 logoff.html로 재 지정됩니다. 7) 좋았습니다. 8) 제 질문은 왜 그런가요? –

답변

1

처음부터 마스터 페이지 코드 숨김에서 세션을 지우려고하는 것처럼 들리는 것으로 보았습니다. 이 코드는 로그 오프 메뉴 항목에 묶여 있었지만 항목이 '일반적인 로그 오프 페이지를 가리키는 링크'라고했습니다.

내 생각 엔 실제로 사용자를 HTML 페이지로 안내 할 때 링크가 masterpage에 대한 포스트 백을 트리거 할 것으로 예상했기 때문입니다.

코드를 새 Logoff.aspx 페이지의 Page_Load로 이동하면 Logoff.aspx 페이지를 요청할 때 세션 지우기 코드가 올바르게 트리거되었습니다. 이 경우

는 당신이 발견 한 것은 내가 무슨 일이 일어나고 있는지 이해가 확실하지 않다 다음

<a href="Logoff.html">Logoff</a> 

<asp:LinkButton ID="linkLogoff" runat="server" Text="Logoff" /> 
+0

네, 맞습니다. 페이지의보기 소스를 확인하고 추가 된 메뉴 항목이 발견되었습니다.

관련 문제