2010-09-02 34 views
5

Tôi có một trang có ứng dụng Silverlight trên đó. Nhúng vào trang của tôi là một khóa xác thực mà ứng dụng Silverlight sẽ cần thực hiện tất cả các yêu cầu dịch vụ web. Vì vậy, tải lên ứng dụng Silverlight cần lấy khóa và thực hiện kết nối ban đầu với dịch vụ WCF. Vấn đề là không thể đoán trước được liệu trang hoặc Silverlight có tải đầu tiên hay không, vì vậy tôi không thể sử dụng các trang onload = event bởi vì đôi khi Silverlight là null và tôi không thể sử dụng phương thức khởi tạo Silverlight vì đôi khi hàm js vẫn chưa được xác định - Tôi đoán có nghĩa là tải trang của nó từ bộ nhớ cache, tải SL, và chỉ sau đó phân tích cú pháp JS.Tương tác giữa Silverlight và Javascript

Cảm ơn.

Trả lời

1

Bạn có thể nhận interop Silverlight để gọi một phương pháp JS và nhận giá trị trả về của nó bằng cách sử dụng sau đây:

// Returning a String 
string stringValue = (string)HtmlPage.Window.Invoke("myJSMethod"); 

nơi myJSMethod trả chìa khóa nhúng. Tuy nhiên, nếu bạn vẫn đang nhúng khóa, tại sao không chỉ đưa vào số <object><param>?

<object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%"> 
    <param name="myKey" value="myKeyValue"/> 
    ... 
</object> 
+2

Đề xuất tuyệt vời về việc nhúng nó vào thông số. Một lưu ý là thay vì sử dụng Object, khởi tạo điều khiển Silverlight thông qua một cuộc gọi đến Silverlight.createObject trong Silverlight.js. Nó cho phép bạn kiểm soát chặt hơn nhiều so với các thẻ Object tĩnh. –

Các vấn đề liên quan