본문 바로가기
프로그래밍/asp.net

[오류]해당 컨트롤에 코드 블록(<% ... %>)이 포함되어 있으므로 Controls 컬렉션을 수정할 수 없습니다.

by 이데렐라 2011. 5. 18.
반응형

예외 정보: 
System.Web.HttpException: 해당 컨트롤에 코드 블록(<% ... %>)이 포함되어 있으므로 Controls 컬렉션을 수정할 수 없습니다.


평상시 aspx 페이지에서 javascript 사용 시 문제 없이 사용하던 <%= %> 기호가 문제가 되었다.
보통 javascript 에서 서버 컨트롤을 가져와서 사용하기 위해서는

document.getElementById( "<%=컨트롤아이디.ClientID %>") 를 하면 해당 클라이언트 아이디를 가져올 수 있었다.
BUTTTT.

이번 경우에는 <% %> 블록 때문에 문제가 된 것이다.

이유인 즉. Ajax. 때문이다.

해당 오류가 발생하는 페이지에서는 AjaxControlToolkit 을 사용하였는데
관련 Ajax를 사용 할 경우 <%=%>를 오류로 인식하는 듯 하다.

이와 같은 문제를 겪은 개발자 처럼 <%# %> (=→#) 변경하였고.
cs 페이지의 Page_Load 메소드에서 Page.DataBind(); 실행하였더니 정상 작동 하였다.

document.getElementById( "<%=컨트롤아이디.ClientID %>")



반응형

'프로그래밍 > asp.net' 카테고리의 다른 글

Visual Studio 2010 빌드 오류 <error FTK1011>  (0) 2012.02.08
어셈블리를 생성하지 못했습니다.  (0) 2011.03.09
예외처리  (0) 2010.02.18

댓글