2009-04-13 11 views
0

J'ai suivi this article sur MSDN.Modèles de contrôle utilisateur

Le modèle fonctionne bien mais j'ai eu 2 gros problèmes.

Je ne peux pas accéder aux commandes dans le modèle même si je décore le modèle avec ces

[TemplateContainer(typeof(MessageContainer))] 
[PersistenceMode(PersistenceMode.InnerProperty)] 
[Browsable(false)] 
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] 

Deuxièmement, je reçois une erreur de temps de conception qui est vraiment mauvais:

Error Creating Control - TemplateTest1 
Type 'System.Web.UI.UserControl' does not have a public property named 'MessageTemplate'. 

maintenant , pourquoi je veux c'est parce que les contrôles de l'utilisateur sont grands et faciles, donc je veux créer un contrôle utilisateur qui produira ce

<div class="FormFiled"> 
--- here i want the ability to put controls that i want ---- 
<div class="Wrapper"> 
</div> 
</div> 

Donc, si le modèle ne fonctionne pas, y a-t-il un moyen d'y parvenir autre que de templating?

Merci d'avance.

Répondre

0

Où se trouve le code du modèle? Est-ce que c'est dans le dossier App_Code qu'il appartient à un espace de noms sur lequel votre page n'a pas de colle?

Par exemple, j'utiliser le modèle suivant

namespace GUI.Controls 
{ 

public class GvTemplate : ITemplate 

...

et dans le code derrière je dois l'appeler comme suit:

colField.ItemTemplate = new GUI.Controls.GvTemplate() 

Si vous ne créez pas le modèle dynamiquement vous devriez enregistrer le contrôle en haut de la page ...

+0

merci pour re ply man, J'utilise le projet de site Web, et non le contrôle n'est pas dans APP_Code il est dans un dossier normal appelé ControlTemplate avec la page de test ASPX. et j'ai suivi exactement ce que l'article a suggéré, pas de modèle dynamique, une réplique de l'article. – DevMania

Questions connexes