Как я могу получить переменную в элемент управления Silverlight 3 из моего кода ASP.NET? - PullRequest
3 голосов
/ 21 сентября 2009

Я играю с Silverlight 3 в мес. Я пытаюсь получить текущий идентификатор пользователя на странице Silverlight 3. Я провел небольшое исследование, и initParams, кажется, правильный путь. Проблема в том, что они, кажется, использовали элемент управления asp: Silverlight, и это исчезло в SL3. Я застрял, пытаясь получить переменную в списке initParams, предполагая, что это правильный путь.

Я начал с нового приложения Silverlight 3 под названием «MyFirstSilverlightApp». Я добавил страницу с выделенным кодом в «MyFirstSilverlightAppTestPage.aspx», чтобы позволить мне делать любые умные биты.

Мне удалось жестко закодировать initParam, добавив это к параметрам определения объекта:

    <param name="initParams" value="userID=id42" />

В App.xaml.cs я добавил следующее в Application_Startup:

    string userID = e.InitParams["userID"];

и я передал это на свою страницу в параметре в конструкторе, а затем использовал это в элементе управления. Это все работает.

Что я не могу понять, так это как получить значение из переменной, которую я создал в коде, в определение значения имени параметра. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

2 голосов
/ 21 сентября 2009

Один быстрый и грязный подход - использовать <% %> в параметре: -

<param name="intiParams" value="userID=<%=myUserID%>" />

Мое предпочтительное решение заключается в создании собственного веб-элемента управления Silverlight, который может визуализировать тег объекта и его содержимое таким образом, чтобы он был привязан к моему приложению.

0 голосов
/ 21 сентября 2009

Добавьте его в свою коллекцию ресурсов.

Попробуйте что-то вроде.

For Each item As KeyValuePair(Of String, String) In e.InitParams
    Resources.Add(item.Key, item.Value)
Next
...