2009-10-08 8 views
0

salut Je tiens à ajouter Dynamiquement ajouter des contrôles de WEBUSER dans une boucleDynamiquement ajouter des contrôles WEBUSER dans une boucle

comme celui-ci CON1 CON2 con3 et plus ou moins en fonction de la boucle

est là une bonne façon de le faire ce

mon premier essai ressemble à ceci. mais je ne sais pas comment dire à utiliser la prochaine grpCon2

 foreach (DataRow Group in AllGroups.Rows) 
    { 
     GroupListControl grpCon1 = new GroupListControl(); 
     grpCon1.NickName = "STUFF"; 
     grpCon1.GroupName = "HARD"; 

     LiteralAddCOntrols.Text = @"<uc1:GroupListControl ID=""GrpCOn1"" runat=""server"" />"; 

    } 
+0

S'il vous plaît poster le code que vous avez essayé et nous pouvons essayer de vous aider. – Lazarus

Répondre

2

Vous devez utiliser LoadControl (pathtoyourusercontrol), puis et le contrôle à votre page à l'endroit que vous voulez.

sharedUC uc = (sharedUC)LoadControl("~/sharedUC/control.ascx"); 
plcContent.Controls.Add(uc); 

Ajouter:

à la page ASPX chargement de la commande et vous serez en mesure d'utiliser une référence tapée à elle.

0

Vous pouvez le faire, mais il faut se rappeler deux choses:

  1. Vous devez leur donner ID - et rappelez-les dans une session
  2. Lorsque les contrôles effectuent des actions PostBack (comme Click) - vous devez actualiser la collection exacte sur chaque publication dans l'événement Page_PreInit (ce que fait normalement le framework) - car l'événement attaché ne se déclenche pas . Et le Page_PreInit doit actualiser la collection exacte avec les mêmes ID-s.

C'est possible mais ce n'est pas si simple au début.

Et voici une description détaillée comment faire cela.

http://aspnet.4guysfromrolla.com/articles/092904-1.aspx

0

Vous pouvez utiliser cette façon et utiliser « UpdatePanel » pour modifier dynamiquement vos contrôleurs:

comme mon nom UserController classe

ici, je l'utilise « userControls_DeviceController ».

userControls_DeviceController FAN1; 
userControls_DeviceController FAN2; 

protected void Page_Load(object sender, EventArgs e) 
{ 
    FAN1 = (userControls_DeviceController)LoadControl("~/userControls/DeviceController.ascx"); 
    saloon.Controls.Add(FAN1); 

    FAN2 = (userControls_DeviceController)LoadControl("~/userControls/DeviceController.ascx"); 
    saloon.Controls.Add(FAN2); 
} 

et aussi pour la personnalisation de votre usercontrol vous pouvez mettre une minuterie sur votre page et utiliser un UpdatePanel pour modifier les propriétés de la spécifier usercontrol.

protected void Timer1_Tick(object sender, EventArgs e) 
{ 
    int counter = Convert.ToInt32(Session["c"]); 
    FAN1.SetDeviceIndex(counter);//here I change usercontrol picture FAN1 
    FAN2.SetDeviceIndex(counter);//here I change usercontrol picture FAN2 
    counter++; 
    if (counter == 4)//I have 4 picture to changing. 
    { 
     counter = 0; 
    } 
    Session["c"] = counter; 
    UpdatePanel1.Update(); 
} 

J'espère que cela pourrait vous aider ...

Questions connexes