Je travaillais sur un projet vb.net et je ne pouvais pas trouver des contrôles dans le fichier code-behind (*. Vb). Je me demandais si c'était parce que je travaillais dans la fonction page_load, donc les contrôles ne sont pas chargés qu'après l'événement page_control. Cependant, j'ai pu les trouver avec la fonction findcontrol de l'objectif formview.contrôles dans le code derrière
Répondre
Les contrôles feraient partie d'une classe partielle dans la même solution. Trouvez simplement toutes les références pour votre nom de classe.
Avez-vous vérifié le contenu de InitializeComponent()? –
quel fichier contient encore cette fonction? J'avais l'habitude de le voir dans un projet C#. pas dans mon projet vb actuel. –
J'ai parfois des problèmes avec l'ajout d'un contrôle à une page et l'Intellisense ne reconnaît pas le contrôle. Le compilateur semble également ne pas reconnaître le contrôle et empêche le projet d'être compilé. Cela peut être très frustrant et je n'ai vraiment pas compris pourquoi.
Parfois, il est utile de fermer la page aspx et son fichier de code, fermant parfois Visual Studio et la réouvrant fonctionne. Parfois, rien ne fonctionne et j'essaie juste une autre façon de faire avancer les choses.
Je ne sais pas si c'est ce que vous vivez, mais si c'est le cas, cela peut certainement vous faire gratter la tête et vous demander ce qui se passe.
a tenté la fermeture VS web. n'a pas fonctionné. –
Si les contrôles sont déclarés dans l'aspx, ils sont définis en classe partielle équivalente pour votre classe Page. Cela a été introduit avec .Net v2.0 afin que déconner avec le concepteur ne serait pas bousiller avec votre code derrière le fichier (ce qui a causé pas mal de problèmes dans certains cas).
Vous pouvez accéder aux commandes depuis votre événement Chargement de page. Parfois, IntelliSense vous joue des tours et ne suggère pas le contrôle. Il suffit de taper. Cela fonctionnera. Vous pouvez fermer la page aspx et l'ouvrir à nouveau. Parfois, cela le corrige. Ou redémarrez simplement Visual Studio si cela vous ennuie.
Cependant, il existe quelques considérations si vous souhaitez accéder aux données de contrôle à certains moments du cycle de vie de la page. contrôles de serveur ont leur propre cycle de vie qui est semblable au cycle de vie Page, mais l'ordre dans lequel l'événement est déclenché pour les commandes est la suivante:
Init
etUnload
événement pour un contrôle se produit avant l'événement est déclenché pour le conteneur (bottom-up).Load
l'événement se produit pour le contrôle après l'événement est déclenché pour le conteneur (de haut en bas).
Vous pouvez trouver une explication plus détaillée du Page life cycle events on MSDN.
c'est confus. pour clarifier, événement Init et Unload pour un contrôle se produit avant que l'événement init et unload est levé pour le conteneur parent direct, comme un formulaire? –
C'est correct. Donc, si vous avez une étiquette sur une page, l'événement Init sera d'abord déclenché sur votre étiquette, puis sur votre page. –
Les contrôles à l'intérieur des modèles (comme dans votre FormView ou dans un GridView) ne sont pas directement accessibles dans le code derrière. Vous devez utiliser FindControl pour accéder à ces contrôles.
Y a-t-il une raison pourquoi? –
Je ne suis pas certain de la raison pour laquelle FormView fonctionne comme il le fait, mais pour GridView, le contrôle existe dans chaque ligne, il y a donc plusieurs versions du contrôle sur la page. Par conséquent, vous devez utiliser FindControl sur le conteneur approprié pour rechercher le contrôle au moment de l'exécution. –
Le futur vous remercie. –
Il est difficile de dire exactement quel est le problème; cela aiderait si vous pouviez poster du code ici.
J'ai deux suppositions/suggestions:
Si vous avez le problème brentkeller est décris, ce qui corrige généralement cela complètement pour moi supprime le fichier aspx.designer.cs, puis un clic droit dans le fichier .aspx et sélectionnez "Convertir en application Web". Cela recrée le fichier du concepteur.
Le contrôle est à l'intérieur d'un modèle comme suggéré par Jason Berkan. Si c'est dans un LoginView, par exemple, vous utiliserez .FindControl ("controlId") sur le LoginView.
- 1. Déclarer des contrôles web dans le code derrière ou juste dans aspx
- 2. XPath dans le code C# derrière WPF
- 3. données Silverlight liant dans le code derrière
- 4. Appel d'une fonction dans le code de silverlight derrière un code aspx derrière
- 5. Charger le code javascript après le chargement du code derrière
- 6. Le code derrière pour une page DNN
- 7. WPF MVVM + UserControl avec le code derrière
- 8. ASP.NET Ajax - Le contrôle Autocompleteextender apparaît derrière d'autres contrôles
- 9. Pour obtenir valeur définie en javascript dans le code derrière
- 10. Utilisation d'une image de ressource dans le code derrière
- 11. Comment accéder à une propriété jointe dans le code derrière?
- 12. Info-bulle est caché derrière les contrôles dans IE6!
- 13. Comment modifier le style dans le code derrière le fichier pour divs dans ASP.net?
- 14. Asp.net Master Page contrôle dynamiquement par le code derrière
- 15. Espace de noms personnalisé pour le code derrière .aspx page
- 16. Comment puis-je appeler une fonction dans le code derrière le fichier dans ASP.NET?
- 17. enregistrer javascript tableau de code derrière facebook
- 18. page ASP.net sans un code derrière
- 19. Générer DropDownList à partir du code derrière
- 20. Javascript erreur dans l'obtention du code derrière les valeurs
- 21. Obtenez le style d'un contrôle {StaticResource {x: Type TextBlock}} dans le code derrière
- 22. Affichage du fichier XAML dans VisualStudio UI Designer exécute le code derrière le fichier?
- 23. ASP .NET - Exécuter le validateur de champ obligatoire et calloutextender dans le code derrière?
- 24. Problème de moulage de type dans le code derrière le fichier
- 25. WPF, Prism v2, Région dans un dialogue modal, ajouter une région dans le code derrière
- 26. Valeur d'accès définie avec javascript dans le code derrière dans la page maître
- 27. Dans WPF, comment puis-je ajouter une bordure à un contrôle dans le code derrière?
- 28. Comment activer et désactiver ELMAH dans web.config et dans le code derrière?
- 29. Comment puis-je créer des dossiers dans ASP.NET dans le code derrière?
- 30. Dans ASP.net est-il préférable d'utiliser les contrôles serveur dans la page ASPX ou de les créer dynamiquement dans le code derrière?
Veuillez fournir votre fichier ASPX et un échantillon code-behind. – Restuta
c'est vraiment générique. un littéral asp dans le fichier aspx et je le cherche dans la fonction page_load dans le fichier vb –