How to pass values to Silverlight application from ASPX page using InitParameter?

Kunal2383
Posted by in Silverlight category on for Beginner level | Views : 15285 red flag
Rating: 5 out of 5  
 1 vote(s)

Neither the Silverlight is new nor the init params. But, I found various people in different forums asking for the logic on the implementation part for passing value to Silverlight application from ASP.Net application. In this post, I will describe about it.

Introduction

Neither the Silverlight is new nor the init params. But, I found various people in different forums asking for the logic on the implementation part for passing value to Silverlight application from ASP.Net application. In this post, I will describe about it.

 

Here I will discuss on the InitParams and tell you how to use it to pass value from your .aspx page to your Silverlight application. Read the complete post and if you have any queries, don’t hesitate to ask me.

 

Basic Idea on InitParam

InitParams is one of the param name of the Silverlight plug-in object. Generally it is a dictionary object of type string. It contains a set of user defined key/value pairs. By default it is set as null or empty string and initializes at the time of first instance. Later it becomes readonly and hence you will not be able to modify it. If you have more than one string values to pass, use comma separated key/value pairs. Have a look into it:

 

<param name="initparams" value="a=10,b=20" />

 

Here, I am passing 10 & 20 as two string value to the key names a & b respectively. Now you can retrieve the value in backend code by using the Key a & Key b. I will discuss it later part.

 

More on InitParam

Let us discuss about it in more depth. Your Silverlight application hosts in either HTML or ASPX page. In that page you will find the following code snippet where you have an <object></object> tag. There are several <param /> tags inside it. Create one more param tag as mentioned above and set the value to that. See the code here:

 

image

 

Now, it is time to retrieve the code from your .cs file. Open your App.xaml.cs file. There find the event named “Application_Startup”. This has a parameter called “StartupEventArgs” and contains property named “InitParams”. This will have the values you entered in the HTML/ASPX page.

 

image

Once retrieved, you can iterate through each key/value pair to read the values. Have a look into the below code:

 

image

In the above example, I read each of the initparam values and shown with the help of MessageBox. So, what next? Now you can read the value and send it to your RootVisual UserControl/Page (i.e. MainPage in this example) by creating a parameterized constructor for the MainPage. There might be a question “Do I have to read the values by iterating each key inside the App.xaml.cs and then have to send it to my Silverlight page?” Nope, not the case. You can send the whole dictionary to your MainPage and then you can iterate through each key.

 

End Note

Hope, now you got the basic idea on that & can now read any values from your .aspx/.html page in your Silverlight application. But remember that, you can only set this values once you are initializing the application. After the initialization is done, “initparams” becomes readonly and you will not be able to set/modify it anymore.

Page copy protected against web site content infringement by Copyscape

About the Author

Kunal2383
Full Name: Kunal Chowdhury
Member Level:
Member Status: Member
Member Since: 3/1/2010 12:38:55 PM
Country: India
Thanks & Regards, Kunal Chowdhury | http://www.kunal-chowdhury.com | http://twitter.com/kunal2383
http://www.kunal-chowdhury.com
He is currently working as a Silverlight application developer. Has a very good skill over C#, XAML, Silverlight & WPF. He has a good working experience in Windows 7 application (including Multitouch) development. During his professional career he worked in various technologies & delivered quality output. He never hesitates to take up challenges & work on the latest technologies in Microsoft platform. He attended various software development competition & achieved different awards. He is presently focusing on the RIA (Silverlight & WPF) & willing to become a Technology Specialist in Microsoft platform. Learning newer things, Blog posting & helping others in forums is one of his regular activity. Specialties: Silverlight Application Development, WPF Application Development, Windows 7 Application Development

Login to vote for this post.

Comments or Responses

Posted by: Vuyiswamb on: 6/6/2011 | Points: 25
hi
my requirement is to pass a value from Silverlight to aspx. how do i do that ?

Login to post response

Comment using Facebook(Author doesn't get notification)