2010-03-27 4 views
0

Comment puis-je créer dynamiquement un textBox et un extendeur d'édition masqué dans un Panel? Mon code est quelque chose comme ceci: Dans la page ASPX:Extendeur de modification masqué dans un répéteur

<asp:Repeater Id = "Repeater1" runat="server" DataSource="Function1" OnitemDataBound="ShowProducts_OntemDataBound"> 
<ItemTemplate> 
<asp: Panel Id= "Panel1" runat="server"> 
<cc1:MaskedEditExtender Id="MskEdit" Mask="(999)-999-9999"> 
</cc1:MaskedEditExtender> 
</asp:Panel> 
</ItemTemplate> 
</asp:Repeater> 

Dans la page aspx.cs

Private DataView Function1() 
{ 
Dataview dv =new dataview(); 
return dv; 
} 

    Private void ShowProducts_OntemDataBound(object sender, RepeaterEventItem e) 
{ 
//Consider For the First Iteration of the Repeater I am Creating a Simple Text Box Dynamically 
Textbox txt = new textbox(); 
txt.Text = "8888888888"; 
txt.Id = "TextBox1"; 

//Consider For the Second Iteration of the Repeater I am Creating another TextBox and a 
Textbox txt1 = new textBox(); 
txt1.text="2223334444"; 
txt1.Id = "TextBox2"; 

MaskedEditExtender mskEdit = (MaskedEditExtender)e.Item.FindControl("MskEdit"); 
mskEdit.TargetControlId = txt1.Id; 

Panel panel1 = (Panel)e.item.Findcontrol("Panel1"); 
panel1.Controls.Add(txt1); 
} 

Lorsque vous exécutez le code ci-dessus, il me donne "Null Exception de référence pour MaskedEditExtender" .S'il vous plaît suggérer un moyen pour cela.

Répondre

0

placez une vérification si e.ItemFindControl ("MskEdit") n'est pas nul, car dans l'en-tête, lignes de pied de page, il sera. est ici le code:


if(e.Item.FindControl("MskEdit")!=null) 
{ 
MaskedEditExtender mskEdit = (MaskedEditExtender)e.Item.FindControl("MskEdit"); mskEdit.TargetControlId = txt1.Id; 
} 
+0

Salut Prashant, Mais cette « question Null de référence » est à venir seulement après que la page commence rendu ..... il ne montre aucune erreur alors que le contrôle devient chargé . Cordialement Viswa – Viswa

+0

okie, alors vous devez également ajouter le code de la page ASCX ainsi –

+0

Runat = "server" dans le contrôle d'édition de masque, ajoutez-le et vous avez terminé !! –

Questions connexes