[ASP.NET] Sys.ArgumentOutOfRangeException

ASP.NET AJAX에서 frameset과 frame을 이용하여 프래임을 나누거나, iframe을 사용할 때
Sys.ArgumentOutOfRangeException 오류가 발생하는 경우가 있습니다. 

[시스템 개발환경]
  Windows Vista + (VS2005+SP1)

[증상]
아래 스크립트처럼 코딩하면 "Sys.ArgumentOutOfRangeException ..."라는 오류 메시지가 발생 (그림 참조)

<frameset onload="checkNotice()" rows="80,*" border="0"
       FRAMESPACING="0"  TOPMARGIN="0"   LEFTMARGIN="0" 
       MARGINHEIGHT="0"   MARGINWIDTH="0">
     <frame src="/top.aspx" id="_top" name="_top"
                 scrolling="no" border="0" 
                 frameborder="no" 
                 noresize TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0">
     <frameset cols="<%=frmColSize%>"
                 frameborder="no"
                 border="0" framespacing="0">
               <frame src="left.aspx" scrolling="no"
                          frameborder="no"
                          name="_menu" framespacing="0" marginwidth="0" marginheight="0">
               <frame src="body.aspx" scrolling="auto"
                          frameborder="no"
                          name="_main">
      </frameset>
</frameset>




[원인]
asp.net ajax에서 frameborder = { yes | no | 1 | 0 } 에서 yes 또는 no의 문자열을 사용할 경우 오류가 발생된다.

[해결방법]
asp.net ajax에서 frameborder = { yes | no | 1 | 0 } 에서 정수형 값인 1 또는 0 을 사용하면,
Sys.ArgumentOutOfRangeException 오류가 해결된다.

(위 스크립트를 아래와 같이 수정하면 오류가 발생하지 않는다.)

<frameset onload="checkNotice()" rows="80,*" border="0"
       FRAMESPACING="0"  TOPMARGIN="0"   LEFTMARGIN="0" 
       MARGINHEIGHT="0"   MARGINWIDTH="0">
     <frame src="/top.aspx" id="_top" name="_top"
                 scrolling="no" border="0" 
                 frameborder="0" 
                 noresize TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0" MARGINWIDTH="0">
     <frameset cols="<%=frmColSize%>"
                 frameborder="0"
                 border="0" framespacing="0">
               <frame src="left.aspx" scrolling="no"
                          frameborder="0"
                          name="_menu" framespacing="0" marginwidth="0" marginheight="0">
               <frame src="body.aspx" scrolling="auto"
                          frameborder="0"
                          name="_main">
      </frameset>
</frameset>

[경험이 최고의 스승이다.]

by poco | 2007/07/07 23:46 | 느린보 정보 | 트랙백 | 덧글(2)

트랙백 주소 : http://poco.egloos.com/tb/386730
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
Commented by pjh at 2008/05/13 13:51

저는 <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" /> 이줄 때문에 에러가 나던데 이유를 모르겠네요. 에휴
Commented by 백지현 at 2008/07/29 14:34
진짜 감사합니다 덕분에 해결 되었습니다 ^^

:         :

:

비공개 덧글

◀ 이전 페이지다음 페이지 ▶