Передать динамический параметр - PullRequest
4 голосов
/ 01 февраля 2010

Я хочу передать динамический параметр (UserName) из веб-приложения в silverlight. Я знаю, как это сделать в Silverlight 2.0 с тегом Asp: Silverlight, однако, поскольку в Silverlight 3.0 вместо тега Asp: Silverlight есть тег Object, мне было интересно, как передать динамический параметр в Silverlight 3.0? Я знаю, что мы можем использовать init param, однако в initparam мы можем просто отправить статический параметр. В init param вы можете отправить param и статическое значение. Мне нужно отправить динамический параметр.

Пожалуйста, помогите, Спасибо

Ответы [ 4 ]

3 голосов
/ 02 февраля 2010

Вы можете динамически создавать объект управления SL и в нем есть параметр. При необходимости вы также можете взаимодействовать со своим управлением через JavaScript. Я предполагаю, что динамический параметр, о котором вы говорите, является некоторым значением из HTML на странице. Если значение изменяется, пока активен элемент управления SL, вам нужно будет использовать JavaScript для добавления изменений в элемент управления SL. Если вы получаете данные из кода, вы можете использовать <% = SomeProperty%> в параметре initparms. При таком использовании ASP.Net выкачивает значение при отображении страницы, а затем браузер видит его как статическое значение, но оно генерируется динамически.

Надеюсь, это поможет.

1 голос
/ 07 февраля 2010

Вы можете повторно использовать хост-элемент управления Silverlight, если вы не удалили сборку, в которой он находится. Это все еще должно работать.

Либо на странице aspx хоста добавьте runat="server" и id к тегу <params ...>:

<params runat="server" id="initParams" name="initParams" />

В коде метода Page_Load(...) вы можете выполнить:

this.initParams = "myKey1=something,myKey2=whatever...";
1 голос
/ 01 февраля 2010

Вы можете использовать InitParams тега Object для передачи некоторой информации в приложение Silverlight и доступа к ней в StartupEventArgs события Startup.

0 голосов
/ 14 декабря 2011

На странице хостинга Sliverlight добавьте runat = "Сервер" и идентификатор в качестве "initParams" к тегу в теге объекта Sliverlight.

В вашем методе Page_Load (). Вы можете назначить свои динамические значения для initParams Как показано ниже

initParams.Attributes.Add ( "Значение", "PageId = 3");

...