2009-09-14 3 views
0

Je rencontre un problème lors de la création d'un nouveau CompositeControl.Création d'une propriété 'Style' sur CompositeControl dans ASP.Net

Actuellement, j'ai un contrôle personnalisé qui hérite de TextBox, le contrôle n'a pas la propriété Style définie, mais je peux définir la propriété dans le balisage de page et le style sera appliqué correctement. J'essaye de créer un CompositeControl avec la même fonctionnalité que le contrôle personnalisé, tout fonctionne bien jusqu'à ce que j'essaie de définir la propriété Style sur le contrôle, au moment de la compilation cette erreur est levée: "The 'Style' la propriété ne peut pas être définie de manière déclarative ", ceci continue à se produire même si je déclare la propriété" Style "dans le code pour CompositeControl (même si j'utilise le mot-clé" new ").

Je n'arrive pas à comprendre pourquoi j'obtiens l'erreur dans l'un des contrôles et pas dans l'autre.

Tout conseil sera apprécié.

Merci

+0

pouvez-vous montrer votre code comment vous définissez la propriété de style? –

Répondre

1

Je l'ai «résolu»!

Je n'ai simplement pas besoin de définir la propriété Style dans le contrôle composite que je crée, si je le permets, je peux ajouter le Style au contrôle et y accéder dans le code du contrôle.

par exemple.

<cc1:MyCompositeControl runat="server" Style="background-color:Red" /> 

et dans le code MyCompositeControl je peux accéder comme:

foreach (string item in Style.Keys) 
    { 
    input.Style.Add(item, Style[item]); 
    } 

Et définir le style à la commande que je veux appliquer (dans ce cas, le contrôle d'entrée ).

Je n'arrive toujours pas à comprendre pourquoi je ne peux pas définir la propriété Style, mais la bonne chose est que je n'en ai pas besoin.

Merci pour votre aide

Questions connexes