Как передать информацию из браузера в приложение Silverlight при создании приложения в формате html?

При создании приложения Silverlight с помощью:

<asp:Silverlight id="SlApp" runat="server" Source="~/ClientBin/SLApp.xap" MinimumVersion="2.0" />

Есть ли способ передать пользовательскую информацию (например, строку), чтобы к ней можно было получить доступ внутри кода С# приложения Silverlight? Как внутри конструктора Silverlight App()?

Спасибо,

Джефф


person Yttrium    schedule 17.01.2009    source источник


Ответы (1)


При использовании веб-элемента управления Silverlight ASP.NET существует свойство InitParameters, которое можно использовать для передачи параметров инициализации в виде пар ключ/значение...

<asp:Silverlight id="SlApp" runat="server" Source="~/ClientBin/SLApp.xap" MinimumVersion="2.0" InitParameters="id=12345,name=john" />

Затем в приложении Silverlight вы можете прочитать эти свойства в событии Startup приложения...

public partial class App : Application
{
    public App()
    {
        Startup += Application_Startup;
    }

    private void Application_Startup(object sender, StartupEventArgs e)
    {
        string id = e.InitParams["id"];
        string name = e.InitParams["name"];
    }
}

Свойство InitParameters StartupEventArgs — это просто универсальный IDictionary‹string,string›.

person John Clayton    schedule 17.01.2009