Nous avons une application de gain qui montre un formulaire Web dans un navigateur Web. Afin d'obtenir des données à partir de ce formulaire Web, nous utilisons une zone de texte cachée et obtenir son texte en utilisant l'objet HtmlDocument du contrôle du navigateur Web. Je veux faire une abstraction de ce formulaire web qui a cet élément de zone de texte afin que d'autres formes puissent utiliser cette abstraction. J'ai fait un contrôle web et mis la boîte de texte dessus. Je pensais que si je mettais ce contrôle sur ma page il y aurait la boîte de texte. Quand j'ai couru mon application j'ai remarqué que la boîte de texte avait été rendue name dans son nom (WebControl $ TextBoxName) et son id (WebControl_TextBoxName) et l'application win lèvent une exception puisqu'elle n'a pas pu trouver l'élément par son identifiant (TextBoxName). Alors, voici ma question: Comment puis-je créer un formulaire Web abstrait/un contrôle Web contenant certains éléments et je peux l'utiliser pour que mes formulaires finaux contiennent ces éléments? (leurs noms et identifiants ne doivent pas être changés) Merci pour votre aideASP.Net abstraction de page
Répondre
dotNet 4.0 prend en charge ids statiques afin qu'ils ne reçoivent pas mutilée, lu sur Client Id Mode
Sinon, vous pouvez remplacer le rendu de votre commande pour produire un champ HTML standard forme cachée avec ce ID que vous voulez, et puis ajoutez également une propriété personnalisée qui renverra la zone de texte qui masquera le fait qu'il ne s'agit pas d'un contrôle serveur asp.net.
Bien que je n'ai jamais utilisé le contrôle du navigateur dans WinForms, je pense que ce que vous voulez utiliser est une page principale. En supposant que ce que vous affichez dans le contrôle du navigateur est une page ASPX, créez une page principale avec la zone de texte cachée à partir de laquelle vous voulez récupérer vos données et dites à toutes les pages sur lesquelles vous souhaitez avoir ce contrôle commun pour utiliser votre La page principale. Lorsque la page s'affiche, l'ID de contrôle sera alors "ctl00_TextBoxName". Il n'y a aucun moyen de contourner la concaténation d'ID, car les ID uniques sont nécessaires et c'est le seul moyen de garantir l'unicité avec toutes les capacités de contrôle imbriquées d'ASP.NET. Cependant, cela vous garantira toujours le même nom sur chaque nouveau formulaire qui hérite de la page principale. J'espère que cela pourra aider!
En résumé (car qui lit les paragraphes?):
- Créer maître page
- Placez votre contrôle commun dans le maître page
- Demandez à votre formulaire héritera le Maître page
Vous pouvez lire le fonctionnement des pages maîtres au MSDN's Documentation.
- 1. abstraction de cette fonction jQuery
- 2. Abstraction dans Delphi
- 3. Abstraction dans un xsd
- 4. SimpleRepository et abstraction
- 5. abstraction de base de données pdo
- 6. Extension Java/abstraction/implémentation question
- 7. Base de données Abstraction et méthodes d'usine
- 8. Abstraction ADAM au niveau d'appel LDAP
- 9. Problème avec @OneToMany et Abstraction dans JPA
- 10. sphynx recherche SQL: abstraction faite des éléments
- 11. Abstraction de base de données dans une application de reporting
- 12. Abstraction de base de données - quelles sont les options?
- 13. gestionnaires de page asp.net
- 14. ASP.net page de téléchargement
- 15. asp.net erreur de page
- 16. validation de page ASP.NET
- 17. ASP.NET héritage de page
- 18. asp.net page "page en cours de chargement"
- 19. Est-ce vrai à propos de "Encapsulation" et "Abstraction"?
- 20. Abstraction Mysqli, récupération de tableaux à partir d'instructions préparées
- 21. asp.net master page/content page
- 22. Écrire une abstraction d'abstraction JavaScript - est-ce sain d'esprit?
- 23. page de connexion dans asp.net
- 24. Problème d'emplacement de page asp.net
- 25. page de connexion asp.net C#
- 26. Email contenu de Asp.Net page
- 27. page de publication dans asp.net?
- 28. ASP.NET MVC + page multilingue
- 29. ASP.NET MVC Master Page
- 30. Page Actualiser dans ASP.NET