2010-09-07 17 views
1
  1. Je souhaite créer un contrôle qui contiendrait d'autres contrôles. Pour ces autres contrôles, je souhaite créer un contrôle "base" avec une logique d'arrière-plan et d'arrière-plan par défaut, puis dériver tous les autres contrôles de ce contrôle "base".Pouvez-vous imbriquer les contrôles asp.net?

Est-ce possible, et comment cela peut-il être fait?

EDIT: Avec l'imbrication je veux dire quelque chose comme des pages maîtres. Je voudrais avoir "contrôle principal" et dans ce contrôle maître je voudrais placer un autre contrôle.

Répondre

2
  1. Il est possible. Vous devez enregistrer votre contrôle sur celui qui le contient.

    <% @ Register TagName = "Control" TagPrefix = "Tag" = Src "source de/vers/your.ascx" %>

    puis l'utiliser comme:

    < Tag: ID de contrôle = "control" runat = "server" />

  2. Vous pouvez hériter du code (ascx.cs). Tout ce que vous avez à faire est de créer une classe de base qui hérite de System.Web.UI.UserControl, puis hériter de votre classe de base dans votre contrôle. Je ne connais aucun moyen d'hériter look (fichier ascx).

+0

Avec l'imbrication, je veux dire quelque chose comme des pages maîtres. Je voudrais avoir "contrôle principal" et dans ce contrôle maître je voudrais placer un autre contrôle. – Primoz

0
  1. Oui, les contrôles peuvent avoir d'autres contrôles; Pour les classes personnalisées, vous pouvez hériter de CompositeControl à cette fin. Je ne suis pas sûr de ce que vous demandez ... vous pouvez modifier par programmation ces contrôles pour affecter leur style/logique, mais cela peut être beaucoup de travail pour tenir compte de cette variabilité. Que voulez-vous changer exactement?