2009-03-23 5 views

Répondre

1

Je ne suis pas sûr qu'il est logique de le faire avec un modèle en tant que tel. Un modèle est une propriété de type ITemplate. Je suppose que votre code de concepteur pourrait tenter de limiter ce qui se passe dans le modèle, mais c'est vraiment contre le paradigme. Peut-être que ce que vous voulez est de substituer la méthode Control.AddParsedSubObject, ou bien implémenter un ControlBuilder pour prendre au sérieux à ce sujet.

+0

Je suppose qu'on pourrait vouloir limiter le type de contrôles dans un modèle, disons, que celles faites par une entreprise particulière ... Je ne suis pas sûr si cela aurait du sens, mais les gens font des choses intéressantes. – Ruslan

+0

Les gens font des choses intéressantes, mais s'ils veulent limiter le contenu d'un gabarit, je suggère qu'ils utilisent le mécanisme de gabarit en interne et qu'ils ne soient pas frustrés d'essayer de placer des contrôles arbitraires. –

1

John, Merci beaucoup pour ces pointeurs! Ça va me pousser plus loin. Je ne suis pas tout à fait sûr, pourquoi il n'a pas de sens si ... par exemple dans une propriété de colonne DataGrid que certains contrôles-enfants sont autorisés:

ColonneLiée ButtonColumn EditCommandColumn HyperLinkColumn

Tous Un autre contrôle inséré dans provoque des erreurs de compilation: Erreur 4 Validation (ASP.Net): Le texte n'est pas autorisé entre les balises d'ouverture et de fermeture pour les éléments Columns.

/Asger

+0

Ce ne sont pas des contrôles à l'intérieur des zones de modèle, mais des balises personnalisées qu'un générateur de contrôle sait traiter et que votre contrôle sait comment gérer. Créez votre propre générateur de contrôles et remplacez AddParsedSubObject (http://msdn.microsoft.com/en-us/library/system.web.ui.controlbuilder.aspx). – Ruslan

Questions connexes