Saturday, March 24, 2012

Pass Variable Value To User Control From Host Page

I am trying to pass the value of a varible to a user control (code behind) from the host page of the user control. In the uc code behind I am using Get...Set to retrive the value and if I use a static string (i.e "blk") it works but I cannot get it to work using (<%#variable%>. Here is the code:

In the user control code behind

Public mainSkin As String

Public Property ucSkin() As String
Get
Return ucSkin
End Get
Set(ByVal value As String)
mainSkin = value
End Set
End Property

Here is the code from the host page

<jsFlsAd:flsAd id="FlsAd" runat="server" ucSkin= "<%#varSkin%>"></jsFlsAd:flsAd>

Where varSkin is declared as Public in the code behind of the host page.

The above line does not work, however if I change it to:

<jsFlsAd:flsAd id="FlsAd" runat="server" ucSkin= "blk"></jsFlsAd:flsAd>

That will work.
Can someone help me understand what I am doing wrong?Hmm try taking out the " around <%#varskin%>
ie:

<jsFlsAd:flsAd id="FlsAd" runat="server" ucSkin= <%#varSkin%> ></jsFlsAd:flsAd>
Hmm try taking out the " around <%#varskin%>
ie:

<jsFlsAd:flsAd id="FlsAd" runat="server" ucSkin= <%#varSkin%> ></jsFlsAd:flsAd>

I tried that and it didnt work either. The way I got it solved for all who comes across this:

In the Page_Init sub I used

FlsAd.ucSkin = varSkin

Where
FlsAd = The id of the User Control
ucSkin is the custom property
varSkin is the variable that holds the value that I wanted to pass.

All is fine. Thanks for the reply

0 comments:

Post a Comment