본문 바로가기
개발언어/C#.NET

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

by 엔돌슨 2009. 4. 30.
반응형


wisegrid를 써보기위해서 sample 페이지를 받았다.

http://wisegrid.icompia.com/start-read.do?boardId=gsnetcs&boardNo=120651860990723&command=READ&t=1240989403829
를 보고 ajax관련 비동기도 세팅하고 잘되었다.



개발 프로젝트에 적용하기 위해서 테스트를 하는 도중 에러가 발생하였다.






'/ExWeb' 응용 프로그램에 서버 오류가 있습니다.
--------------------------------------------------------------------------------

해당 컨트롤에 코드 블록(<% ... %>)이 포함되어 있으므로 Controls 컬렉션을 수정할 수 없습니다.
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.

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

소스 오류:


현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다. 

스택 추적:


[HttpException (0x80004005): 해당 컨트롤에 코드 블록(<% ... %>)이 포함되어 있으므로 Controls 컬렉션을 수정할 수 없습니다.]
   System.Web.UI.ControlCollection.Add(Control child) +127
   System.Web.UI.PageTheme.SetStyleSheet() +411
   System.Web.UI.Page.OnInit(EventArgs e) +51
   System.Web.UI.Control.InitRecursive(Control namingContainer) +458
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1745

 


--------------------------------------------------------------------------------
버전 정보: Microsoft .NET Framework 버전:2.0.50727.42; ASP.NET 버전:2.0.50727.42



결론 :

<%=...%>은 asp방식이기때문에 닷넷환경에서 병행 사용할 수 없습니다..

닷넷환경에서는

<%#...%>을 사용한다.


<%=...%>를 <%#...%> 수정하였습니다.


참조사이트 : http://ssidea.tistory.com/18