2009-10-27 4 views
1

Dans une page .aspx standard, vous pouvez accéder aux propriétés publiques à partir du codebehind. Est-il possible de faire une chose similaire dans un contrôle utilisateur. Par exemple, dans le code suivant "Liste" est la propriété publique du codebehind du contrôle utilisateur et pourtant il n'est pas accessible.Propriétés publiques dans le code d'un contrôle utilisateur

<% foreach (TripTeam team in List) { %> 
<div> 
    <label><%= team.Name %></label> 
</div>      
<%} %> 
+0

La journée a été longue et je pense que vous devrez nous montrer un peu plus de code. – serialhobbyist

+0

Votre exemple est vulnérable aux attaques par injection. Assurez-vous d'encoder le contenu de votre étiquette, par exemple: <% = Server.Encode (team.Name)%> –

Répondre

1

Vous pouvez accéder aux propriétés publiques d'un UserControl à partir de votre page .aspx. Voici un exemple

<script runat="server"> 
public string Caption { get { return _caption.Text; } set { _caption.Text = value; } } 
public string Text{ get { return _tb1.Text; } set { _tb1.Text = value; } } 

<div> 
<asp:Label ID="_caption" runat= "server" class="caption" /><br /> 
<asp:TextBox ID="_tb1" runat="server" CssClass="textBox" Width="25px" /> 

ensuite sur votre page ASPX, vous pouvez définir les propriétés du texte et la légende de votre contrôle utilisateur:

<uc1:CaptionText ID="ct1" runat="server" Caption="User name" /> 
0

Vous devez dire 'userControlId.List' pour accéder à la propriété lors de l'accès à une propriété dans le contrôle à partir d'une page wh Je utilise le contrôle.

Questions connexes