J'ai une exigence qui ajoute des composants html/aspx du code derrière. Les composants peuvent être soit case à cocher ou bouton radio et les options pour ceux-ci proviennent de la base de données. Alors quelle est la meilleure approche pour le faire. Le contrôle utilisateur aide-t-il ici?Ajout de composants ASPX à partir du code derrière C#
Répondre
Vous devez généralement déterminer et d'ajouter ces contrôles via la page OnInit
surcharge ou d'un événement Page_Init
, et assurez-vous de le faire sur toutes les demandes, y compris postbacks. Définissez des variables locales pour contenir les objets que vous pouvez créer (cela peut être un List<>
si vous ne savez pas combien en existeront à l'avance), et instanciez-les comme tout autre objet, définissez leurs propriétés, puis ajoutez à la collection Controls
de l'objet conteneur dans lequel ils devraient se trouver; Par défaut, ils seront ajoutés à la fin du conteneur, mais vous pouvez les Insert
au lieu de Add
si vous le souhaitez.
En supposant que vous les recréer comme ceci à chaque fois, et le faire pendant Init
, vous pouvez y accéder - y compris viewstate, le cas échéant - de l'événement Load
/surcharge.
- 1. Appel d'une méthode Web à partir du code ASPX derrière
- 2. Générer DropDownList à partir du code derrière
- 3. générer html à partir du code derrière
- 4. JavaScript confirme à partir du code derrière C#
- 5. Appeler javascript à partir du code derrière
- 6. Création DataTemplate à partir du code derrière
- 7. Plusieurs asyncfileupload AJAX créés à partir du code C# derrière
- 8. contrôle de l'utilisateur à partir du code derrière
- 9. appeler une fonction javascript à partir du code inbox aspx
- 10. appel div à partir du code derrière C#
- 11. AuthenticationService accédant à partir du code derrière
- 12. Exécuter SelectionChangedEvent à partir du code derrière
- 13. Soumettre un formulaire à partir du code derrière
- 14. Expression régulière comportement différent dans C# code derrière et ASPX
- 15. mouvement ASPX EVAL au code derrière
- 16. obtenir la propriété du code derrière dans la page aspx
- 17. concepteur de composants code généré dans le code derrière
- 18. configure ObjectDataSource du code derrière en C#
- 19. Appeler un code JavaScript à partir du code derrière
- 20. Plusieurs appels à SetBinding à partir du code derrière
- 21. Appelez un code derrière la fonction de javascript dans aspx
- 22. Comment ajouter du style à partir du code derrière?
- 23. Masquer ListeL'en-tête du tableau à partir du code derrière
- 24. Définir une source d'image à partir du code derrière
- 25. Modifier la page principale à partir du code derrière
- 26. La hauteur de liaison à partir du code derrière
- 27. Utilisation de RIA Services FilterDescriptor à partir du code derrière
- 28. C# DataTable Ajout de données à partir du tableau
- 29. Parler à iFrame à partir du code ASP.NET derrière
- 30. Comment accéder à un usercontrol à partir du code derrière?
Je pense que cela nécessite un appel DB sur chaque publication car mon contrôle provient de DB. Que se passe-t-il si l'utilisateur a sélectionné une option et a fait la publication, puis si je lie de nouveau ces commandes, la sélection de l'utilisateur ne persistera pas? alors je dois enregistrer les options choisies par l'utilisateur et les restaurer. Y at-il une approche que je peux utiliser qui n'a pas besoin d'ajouter des contrôles sur chaque publication? –
Quoi que vous deviez faire pour sélectionner les contrôles à créer, faites-le où j'ai noté ci-dessus; dans 'Init'. Assurez-vous de définir toutes les mêmes propriétés que vous définissez normalement dans l'ASPX - en particulier en incluant 'Name'. Si vous le faites au bon moment, sur * tous * les postbacks, il sera * rempli * avec des valeurs fournies par l'utilisateur comme tout autre contrôle sur la page. –