2010-05-25 243 views

回答

3

你可以採取的一種方法是公開一個可以從JavaScript訪問的方法。因此,在您xaml.cs文件,你需要將以下內容添加到你的構造:在

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

然後:

this.Loaded += new RoutedEventHandler(Page_Loaded); 

然後添加以下事件處理程序:

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

和在您的Silverlight控件實例化的ascx或aspx頁面中添加以下JavaScript:

它也意味着你的Silverlight控件具有通過<object...標籤,而不是通過<asp:Silverlight...

+0

我有多個SL客戶端的頁面上,將在JS將數據傳遞給所有客戶端? 謝謝 – Jayesh 2010-05-25 17:26:27

+0

@Jayesh - 每個實例化的Silverlight客戶端都可以擁有自己的onLoad處理程序,因此您可以在啓動時調用不同的方法。 – ChrisF 2010-05-25 17:37:04

2

如果你需要做的就是在查詢字符串的鍵值對,存在使用HtmlPage類更簡單的方法:

HtmlPage.Document.QueryString["your_key"];