2010-05-25 1 views

답변

3

한 가지 방법은 자바 스크립트에서 액세스 할 수있는 방법을 노출하는 것입니다 감사합니다. 에 그런

[ScriptableMember] 
public void YourMethod(string yourData) 
{ 
    // Do your stuff here 
} 

:

void Page_Loaded(object sender, RoutedEventArgs e) 
{ 
    HtmlPage.RegisterScriptableObject("YourControlName", this); 
} 

과 :

this.Loaded += new RoutedEventHandler(Page_Loaded); 

는 그런 다음 이벤트 처리기를 추가 : 당신의 xaml.cs이 파일에 그래서 당신은 당신의 생성자에 다음을 추가 할 필요가 ascx 또는 aspx 페이지에서 Silverlight 컨트롤이 인스턴스화되면 다음 JavaScript를 추가하십시오.

그것은 또한 당신의 실버 라이트 컨트롤이 크리스의 방법은 실버 라이트의 initialization parameters feature를 통해 시작 정보를 전달하는 데 쉽게 작동합니다 있지만 <object... 태그를 통해보다는 <asp:Silverlight...

+0

나는 페이지에 여러 SL의 클라이언트가을 것이 JS가 모든 고객에게 데이터를 전달합니까? 감사합니다. – Jayesh

+0

@Jayesh - 인스턴스화 된 각 Silverlight 클라이언트는 자체 onLoad 처리기를 가질 수 있으므로 시작할 때 다른 메서드를 호출 할 수 있습니다. – ChrisF

2

를 통해 인스턴스화하는 것을 의미한다. 쿼리 문자열의 키 - 값 쌍에서 얻을 수있다 할 필요가의 HtmlPage 클래스를 사용하여 훨씬 더 간단한 방법이 있다면

2

:

HtmlPage.Document.QueryString["your_key"];