2

나는 asp.net의 사용 아약스 브라우저 기록 관리 (절. 4.0)을 스크립트 관리자 & 모든 것을 EnableHistory="true" 오늘까지 잘 일했다. 가 Sys.InvalidOperationException : 다음 기록 기능은 IE에서 작동하려면 페이지는이 있어야합니다 asp.net 스크립트 관리자 EnableHistory = "true"를 InvalidOperationException이

는 메시지 (만 IE) 나 로컬 호스트에서 브라우저 오늘 발사와 내가 IE 9이 오류 메시지가 ID가있는 '__historyFrame'은 검색어 문자열 매개 변수에서 제목을 가져오고 Sys.Application._onIFrameLoad()를 부모 창 에서 호출하는 페이지를 가리 킵니다. 이것은 ScriptManager에서 EnableHistory를 true로 설정하여 수행 할 수 있습니다.

오늘 수정 한 내용을 모두 취소하고 브라우저 캐시 + 쿠키 + 기록 + 모든 것을 삭제하고 Windows 및 Temp 폴더에서 "Temporary ASP.NET Files"를 삭제했지만이 오류는 사라지지 않습니다. 그러나 내 마스터 페이지에서 <meta http-equiv="X-UA-Compatible" content="IE=7" />을 삭제하면 오류가 제거되지만 많은 스타일링이 잘못되어 옵션이 아닙니다. 메타는 처음부터 거기에 있었고 모든 것이 잘 돌아갔다. 그래서 나의 질문은 왜 지금인가?

환경 (예 : 일부 숨김 파일 삭제)을 다시 설정하거나 진행중인 상황을 알려주는 포인터가 도움이 될 것입니다. 고맙습니다.

답변

2

ScriptManager는 IE7에서 내역 관리가 올바르게 작동하도록 iframe을 출력합니다. 이 경우 불행히도 버그가 있습니다. 귀하의 브라우저는 IE9이므로 iframe이 필요하지 않습니다. 하지만 메타 태그를 사용하면 클라이언트 측이 IE7로 동작하므로 iframe이 필요합니다. .NET의 다음 버전에서는 수정 될 예정입니다. 그때까지 compat 모드 또는 실제 IE7을 사용할 때 렌더링되는 iframe 콘텐츠를보고 페이지에서이를 모방하여 문제를 해결할 수 있어야합니다. 하지만 실제로 IE7 일 때 페이지에서 두 번 끝나지 않도록해야합니다. 따라서 IE> = 8을 감지 한 경우에만 결과를 출력하십시오. 의미가 있습니까? :)

+0

의미가 있지만, 왜 지금까지 작동하지 않았고 작동하지 않았습니까? 메타 태그는 항상 거기에 있었고 나는 IE9에서 일주일 전에 장애없이 구현했습니다. – adentum

+2

아마도 오류는 디버그 모드에서만 발생하기 때문일 수 있습니다. 릴리스 모드에서 작동합니까? – InfinitiesLoop

+0

_web.config_ 파일의 _system.web/compilation_ 섹션에서'debug = "true"'를 삭제 (또는 false로 설정)하면 문제가 해결됩니다. 당신의 도움을 주셔서 감사합니다. – adentum