본문 바로가기

Silverlight

silverlight 에서 javascript 를 불러서 새로 고침 하기

개요

silverlight 로 프로그램을 짜다가 문뜩 "아 중간에 에러가 나서 처음으로 돌아갈려면 우짜지?" 라는 생각이 들었습니다.그래서 생각한게

1.Mode를 정해서 에러가 발생 했을때 첫번째 Initialize 하는 모드를 만들어서 글로 보내야지~
2.this.RootVisual 에 그냥 빈통을 지정해 준다음에 실제 사용할 프로그램을 그 통안에 넣고 쓰다가 새로고침?  해야할 상황이 생기면 그통을 비웠다가 다시 집어 넣는 방법  <- 요건 비울때 제대로 비우지 않으면 낭비가 발생할수도 있다고 함
3.javascript를 이용해서 자신의 페이지를 다시부르는 방법 (요건 페이지를 실버라이트 가 전부다 사용할경우는 괜찮을것 같음) 마침 지금 하는 프로젝트가 그런쪽이라서 이번에는 이 방법을 사용하기로 함

실행화면

 

1.에러를 발생 시키기 위해서 에러발생 버튼을 누릅니다 -_-;;

 

2.어이쿠 에러가 발생했고 저는 이놈을 Reload 하기 위해서 Reload 버튼을 누르겠습니다.

 

3.무사히 돌아왔습니다.

소스분석

실버라이트 부분

HtmlPage.Window.Invoke("Reload");

Javascript 부분

function Reload() {
            location.href = self.location;
        }

아주 간단하지요~

소스