본문 바로가기
programming/ASP.NET

asp.net에서 cs영역에서 alert호출

by hotdogya 2011. 3. 18.
우선 원인을 설명드리자면,

클라이언트에서 실행되는 자바스크립트보다 서버단에 명령이 먼저 실행되기 때문이라고 보시면 됩니다.

Page.ClientScript.RegisterStartupScript(GetType(), "alert", "alert('접수되었습니다.');", true);
위 코드에 의해서 alert()을 띄우는 스크립트가 생성이 되었고, 이 스크립트가 실행되려면
페이지가 모두 렌더링이 된 이후여야 하는데, 다 끝나기전에

Response.Redirect("CS_WRITE.aspx?bid="+bid, false);
위 코드로 Redirect를 시켜주기 때문에 스크립트 실행이 되지 않는 것입니다.

원하시는 기능을 구현하기 위해서는 아래 코드처럼 해주시면 됩니다.
Page.ClientScript.RegisterStartupScript(GetType(), "alert", "alert('접수되었습니다.');", true);
Page.ClientScript.RegisterStartupScript(GetType(), "redirect", string.Format("location.href('CS_WRITE.aspx?
bid={0}')", bid), true);

taeyo.net에서 chaeun0328님 글 펌