2010-09-02 3 views
5

У меня есть страница с приложением silverlight. На моей странице встроен ключ аутентификации, в котором приложение Silverlight должно будет выполнять все запросы веб-сервисов. Поэтому для загрузки приложения Silverlight необходимо получить ключ и выполнить первоначальное подключение к службе WCF. Проблема в том, что его очень непредсказуемая загрузка первой страницы или silverlight, поэтому я не могу использовать страницы onload = event, потому что иногда silverlight имеет значение NULL, и я не могу использовать метод инициализации silverlights, потому что иногда функция js по-прежнему не определена, что Я предполагаю, что он загружает страницу из кеша, который загружает SL, и только затем разбирает JS.Взаимодействие Silverlight и Javascript

Спасибо.

ответ

1

Вы можете получить Silverlight Interop, чтобы вызвать метод JS и получить возвращаемое значение, используя следующие:

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

где myJSMethod возвращает вложенный ключ. Но если вы все равно вставляете ключ, почему бы просто не вставить в <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

Отличное предложение о внедрении его в параметр. Одно из соображений заключается в том, что вместо использования Object создайте экземпляр элемента управления Silverlight с помощью вызова Silverlight.createObject в Silverlight.js. Это дает вам гораздо более жесткий контроль, чем статические теги объектов. –

Смежные вопросы