2010-08-06 6 views
3

내가 다음에 새 페이지를 발사하지자바 스크립트

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request.QueryString["timeout"] != null && Request.QueryString["timeout"].ToString().Equals("yes")) 
    { 
     Response.Write("<script>alert('Your Session has Timedout due to Inactivity');</script>"); 
     Response.Redirect("Default.aspx"); 
    } 
} 

답변

7

Response.Redirect은 브라우저를 리디렉션하므로 JavaScript가 실행되지 않습니다. 대신 자바 스크립트에서

시도의 리디렉션 :

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (Request.QueryString["timeout"] != null && Request.QueryString["timeout"].ToString().Equals("yes")) 
    { 
      Response.Write("<script>" + 
       "alert('Your Session has Timedout due to Inactivity');" + 
       "location.href='Default.aspx';" + 
       "</script>"); 
    } 
} 
+0

이 문제가 해결되었습니다. 불행히도 Default.aspx로 리다이렉트하면 Default.aspx는 여전히 타임 아웃이라고 생각하고 EndSession.aspx로 다시 리디렉션합니다. 그러나 나는 이것을위한 새로운 주제를 만들 것입니다. 당신은 그 질문에 완벽하게 대답했습니다. – kralco626

9

Response.Redirect 호출은 코드를 사용자에게 반환하지 않습니다. 사용자를 즉시 ​​다음 페이지로 리디렉션합니다. Response.Redirect의 MSDN에서 : "원래 URL이 나타내는 페이지의 표시된 HTML 텍스트 또는 Response.Write 텍스트와 같은 응답 본문 내용은 무시됩니다."

+0

감사합니다! OK 버튼을 클릭하여 리디렉션 할 수 있습니까? – kralco626

+0

물론 @Mario Menger가 제안한대로 할 수 있습니다. – sgriffinusa