Je ne suis pas sûr de ce que vous essayez de faire. Si tout ce que vous avez besoin est d'ajouter votre contrôle (statique) à votre page voici comment vous le faites:
<% @ Page Language = "C#" %>
<% @ Register TagPrefix = "uc" tagName = "Spinner" = "~ Src \ Controls \ Spinner.ascx" %>
< html>
< body>
< forme runat = "server">
< uc: Spinner id = » Spinner1 " runat = "server" MinValue = "1" MaxValue = "10" />
</form>
</body>
Une fois que vous avez, dans le code derrière vous pouvez localiser le contrôle par ID, le cast à votre type, et puis faire n'importe quoi. BTW, MinValue et MaxValue sont des propriétés définies sur votre implémentation de contrôle. Maintenant, si vous voulez créer dynamiquement une instance de contrôle à la volée, vous devez utiliser la méthode LoadControl de votre page. Cette méthode renvoie une instance de votre contrôle, mais pour faire quoi que ce soit, vous devez l'ajouter à la collection de contrôle de la page, comme ceci:
page.Controls.Add(mycontrol)
.
Vous pouvez le faire n'importe où dans le cycle de vie de la page avant l'événement OnRender.Gardez à l'esprit qu'une fois que vous faites cela, le contrôle commencera à rattraper son retard - il sera poussé à travers tous les événements du cycle de vie de la page qu'il a raté. Gardez également à l'esprit que si la page est publiée, vous devez vous assurer que le contrôle est en place exactement comme il l'était au moment où le viewstate est traité.
En guise de remarque, je pense que faire ce genre de travail côté serveur est un peu dépassé. Vous feriez mieux de faire quelque chose avec JQuery et les goûts
Je pense que je dois clarifier. Je comprends le cycle de vie de la page - cette question n'est pas à ce sujet. Je veux être en mesure de créer un LegendItem en code, tout comme je peux créer un TextBox, DropDownList, etc, définir ses propriétés, et l'ajouter à un contrôle utilisateur Legend. Je peux le faire en créant ma propre bibliothèque de classes et en créant un contrôle personnalisé puis en faisant référence à cette DLL, mais je ne veux pas passer en revue tout cela pour cela si possible. Merci pour votre réponse, lomaxx. – TheGeekYouNeed