실버라이트 호스팅페이지 URL에서 QueryString 얻기

Silverlight/Lecture 2008.09.24 16:32

네이버 실버라이트 카페의 한 회원님께서 이에 관련된 내용이 검색되는 게 없다고 하셔서 포스팅합니다.


What's QueryString?


QueryString은 다들 알고 계시겠지만 아래와 같은 URL에서

http://images.google.co.kr/images?hl=ko&q=hugeflow&gbv=2

물음표(?) 다음 부분인 hl=ko&q=hugeflow&gbv=2가 바로 QueryString입니다.
어떤 때에는 분명 실버라이트 객체에게도 의미가 있는 내용이 포함되어 있을 수 있습니다.



How to get it?


자 그럼 위의 URL에 의해 호출된 페이지에 실버라이트 객체가 호스팅되고 있다고 할 때,
실버라이트 객체 입장에서 간단히 QueryString을 얻는 방법을 소개합니다.

우선, 실버라이트 입장에서 HtmlDocument는 만들어 써야할 객체가 아니라, 얻어 써야할 객체입니다.
호스팅 되는 웹페이지의 HTML DOM 안에 더부살이를 하고 있으니까 말이죠.

HtmlPage클래스의 static 프로퍼티인 Document를 통해 실버라이트가 호스팅 되고 있는
웹페이지(HtmlDocument)를 참조할 수 있습니다.

바로 예문 나갑니다.

if (HtmlPage.Document.QueryString.ContainsKey("q") == true)
{
     string keyword = HtmlPage.Document.QueryString["q"];
}

감사합니다.




설정

트랙백

댓글

  • tza 2010.05.17 19:44 신고 ADDR 수정/삭제 답글

    무식질문일지는 모르지만
    보안에는 문제 없는건가요?

    • BlogIcon 길버트 2010.05.18 01:05 신고 수정/삭제

      Javascript 수준으로도 하는 일이라 보안에는 큰 문제가 없습니다.
      하지만 Javascript 사용과 비슷한 보안 수준을
      생각하시면 됩니다.

      가령 Javascript로도 악의적인 코드를 작성할 수 있습니다.
      메세지 창을 무한히 띄운다거나 하는 것 말이죠.
      그런 스크립트가 도는 사이트는 한 번 경험하면 안들어가면 그만입니다.
      실버라이트도 비슷합니다.
      불쾌감을 주는 어플리케이션을 작성할 수는 있지만,
      사용자 PC에 큰 피해를 입히는 그런 것은 구현할
      수 없지요. ^^