HTMLControls et/ou WebControls ? - C#/.NET managed - Programmation
Marsh Posté le 21-02-2007 à 16:49:57
Difference Between ASP.NET Server Controls,HTML Server Controls and HTML Intrinsic Controls :
http://www.extremeexperts.com/Net/ [...] trols.aspx
bof
Marsh Posté le 21-02-2007 à 16:55:48
Les HtmlControl sont là pour faire la transition en douceur depuis un site déjà fait en ASP pour le passer en .NET
Ensuite, effecitement, il vaut mieux utiliser les WebControls.
Pour le reste, niveau performances, lisibilité et maintenabilité, utiliser l'un ou l'autre ne changera pas grand chose. Par contre, le coup du HTMLStringBuilder...
Marsh Posté le 21-02-2007 à 17:04:17
MagicBuzz a écrit :
|
toi, par exemple, dans ton code .NET tu geres tout en webcontrols? donc grosse arbo de controles...
tu ne tape jamais une seule ligne de html...
et les performance ça va?...
Marsh Posté le 21-02-2007 à 17:09:17
1/ je code tout en WebControls, oui, sauf les éléments HTML statiques
2/ donc oui, y'a du HTML dans mes pages : ça sert à rien de faire des éléments dynamiques si c'est pour qu'ils soient statiques
3/ Niveau performances, je mets à plat n'importe quel site écrit en ASP, PHP ou Java (.NET est très largement plus performant que chacun des trois, à conditions de coder correctement évidement)
PS : Et avec le modèle objet de .NET, ainsi que la gestion des évènements, on n'a jamais à se balader dans l'arbo !
Marsh Posté le 21-02-2007 à 17:15:00
moi je connais pas la différence entre "asp.net server controls", "server controls" et "html intrinsic controls"
Marsh Posté le 21-02-2007 à 17:28:19
MagicBuzz a écrit : 1/ je code tout en WebControls, oui, sauf les éléments HTML statiques |
quesque t'appelles un element html statique?
un header ou un footer par exemple?
concretement tu fais quoi en html? j'ai du mal à voir....
petite question: moi j'ai tout fait en webcontrol.. et ma page contient + de 180 controles.. ça te choque? (ouai ça va vite avec les tables/rows/cells)
Marsh Posté le 21-02-2007 à 17:35:22
euh...
DataRepeater, tu connais ?
Vire-moi ces putains de tables codées en dur et utilise les méthodes DataBind()
Du code statique, ça va être un truc genre "mon joli logo tout pourrave collé dans le coin en haut à gauche". Pas besoin de créer un contrôle pour ça, alors que l'image est figée. Mais bon, pour ça y'a carrément les master pages.
Marsh Posté le 21-02-2007 à 17:37:32
MagicBuzz a écrit : euh... |
Pas en .NET 1.1
dur retour pour moi après 1 an de .NET 2.0, retour au 1.1 (vivement la migration)
Marsh Posté le 21-02-2007 à 17:39:56
Y'a pas de master pages en 1.1, mais des DataRepeater, si, c'est en faisant un site en 1.1 que je les ai découverts il y a 1 an et demi
Comment c'est trop bon d'ailleurs
Marsh Posté le 21-02-2007 à 17:43:03
MagicBuzz a écrit : Y'a pas de master pages en 1.1, mais des DataRepeater, si, c'est en faisant un site en 1.1 que je les ai découverts il y a 1 an et demi |
Ha ben oui, le datarepeater est plus que bon
j'utilise même plus de datagrid...
Marsh Posté le 21-02-2007 à 17:59:58
y'a personne pour répondre à ma question ?
Marsh Posté le 21-02-2007 à 18:12:08
MagicBuzz a écrit : euh... |
oui..
MagicBuzz a écrit : |
??
MagicBuzz a écrit : |
j'suis en 1.1 :-/
mais en fait je veux tout faire dans des classes pour pouvoir tout embarquer dans une dll.. donc pas de aspx, ni ascx.. à part pour les pages principales...
bref imagine un cas concret...
dans mes pages... j'ai tout affichier dans 1 ou plusieurs "window" qui sont en fait des cadres constitués d'un header/body/footer
et je peux, dans chaque page , avoir 1 ou plusieurs "window" disposés differemment ..
donc la je fait un control qui gère ma window (qui lui, en interne, gère un tableau pour placer header body et footer).. ça parait bien nan?
puis des fois j'ai des windows, qui contiennent une grille dans leur body...
cette grille est une liste qui associe un texte avec un ou plusieurs controles (textfield, radiobutton, dropdownlist, etc...)
donc du cou j'ai fait 2 classes.. à savoir CWindow et CGrid...
je peux instancier un nouveau CWindow et y faire CWindow.BodyControls.Add(new CGrid)
et la CGrid je peux faire CGrid.AddRow("text", control1, control2, etc...)
c'est ainsi que je construi mes pages... c'est mal?
Marsh Posté le 21-02-2007 à 18:15:39
cosmoschtroumpf a écrit : y'a personne pour répondre à ma question ? |
http://www.odetocode.com/Articles/348.aspx
Marsh Posté le 21-02-2007 à 19:04:49
Evite de tout faire en code.
.NET est un outil qui permet de dissocier totalement le code HTML du code C#, il faut donc respecter l'esprit dans lequel il a été créé.
Donc tes "Window", ça va bêtement être des WebControl (*.ascx) que tu vas coller dans tes pages (*.aspx). Si tu veux pouvoir les changer de place de façon programmative, c'est pas compliqué, t'as tout ce qu'il faut dans un WebControl pour décider où le placer. Au pire, tu peux les ajouter de façon "manuelle" dans le code C#, mais je préconise de ne le faire que lorsque c'est obligatoire.
Tout vouloir coller dans une seule DLL sans aucune page, c'est "stupide" dans le mesure ou de toute façon tu auras au moins un default.aspx et un web.config en plus. Sans parler des images et autres CSS qui j'espère pour toi ne sont pas dans ta DLL ! Bref, à partir du moment où tu distribues de toute façon des fichiers statiques, autant faire avec, et proprement.
Ensuite, pour tes histoires de CGrid qui est un CWindow qui contient une grille, je te propose de faire une classe abstraite CWindow, qui implémente toutes les méthodes de base.
Ensuite tu fais hériter CGrid de cette classe, afin d'apporter de nouvelles fonctionnalités. Ca évite le code redondant.
Si j'ai vraiment du courage, je vais voir à faire un petit exemple, peut-être ce soir.
Marsh Posté le 22-02-2007 à 09:23:22
ouaip ben tout ça, ok...
mais je t'explique mon problème...
j'utilise mes controles dans mon projet, ça ok.. mais j'ai un collègue qui aimerais utiliser mes controles dans son projet qui est carrement sur un autre serveur... donc il aurait juste à prendre ma dll...
tu vas me dire qu'il suffit de créer les ascx dans la dll à partager, mais ça ne marche pas.. :-/
l'ascx doit être dans un projet web...
comment partager un ascx??
Marsh Posté le 22-02-2007 à 09:33:33
ben y'a pas plus de problème... tu lui livres tes ASCX en même temps que la DLL qui contient leur code compilé lui il a juste à mettre en référence ta DLL à son projet.
Marsh Posté le 22-02-2007 à 09:57:13
tabouret en bois a écrit : ouaip ben tout ça, ok... |
Vous connaissez source safe ?
Marsh Posté le 22-02-2007 à 10:46:13
MagicBuzz a écrit : ben y'a pas plus de problème... tu lui livres tes ASCX en même temps que la DLL qui contient leur code compilé |
c'est un peu lourd de livrer les ascx + dll...
en plus j'utilise source safe
je suis entrain d'étudier les articles suivants :
http://support.microsoft.com/kb/324785/en
http://www.dotnetguru.org/articles [...] reuse.html
mais j'ai du mal :-D
Marsh Posté le 27-03-2007 à 21:09:46
Bonjour
j'aurai une question à vous poser à tous :
Dans le cas des WebControls, n'y a t'il pas un peu trop d'aller/retour serveur ??
Je développe en C# des pages Asp.Net depuis environ 6 mois et depuis le début je construit mon Html dynamiquement avec des String et des StringBuilder()..
Concrètement je me suis fais des classes du genre GenerateFormulaireHtml() avec des méthodes du genre addInputText(label, value, maxchar, ..) etc.. et en surchargeant la méthode ToString() pour qu'elle me retourne un formulaire tout propre (sous la forme d'un string contenant le html prêt à l'emploi)..
L'avantage est pour moi de centraliser l'apparence de mon html dans ces classes, et surtout de pouvoir générer hyper facilement mes formulaires et autres tableaux html..
Mais je viens seulement de me rendre compte qu'il existait les HtmlControls !!!
Tout simplement parce que je débutais en Asp.Net, et que dans l'équipe de développement ou je travaille on a préféré faire une croix sur les controles spécials ASP.NET quand on a vu qu'ils provoquaient beaucoup "aller/retour" serveur..
Par exemple un simple select asp: nous fait un aller retour serveur dès qu'on lui a mis un évènement onclick par exemple !!
Et bon .. les aller retours serveur, c'est peut être pratique si les utilisateurs ont l'adsl mais on doit penser aussi à ceux qui sont à la campagne avec leur 56ko.
Par contre, je me suis rendu compte cet après midi que les HtmlControls ne font pas d'aller retour serveur mais sont simplement les éléments Html de base sous la forme d'objet et ça c'est exactement ce que je recherche.
Ma question à ceux qui utilisent les WebControls est :
N'avez vous pas trop d'aller retour serveurs avec vos WebControls ?
P.S : je fais bien la différence entre les HtmlControl et les WebControls, quoique je continue de me documenter actuellement à leurs sujets
D'avance merci beaucoup pour vos réponses !!!
Marsh Posté le 28-03-2007 à 11:04:15
MagicBuzz a écrit : Les HtmlControl sont là pour faire la transition en douceur depuis un site déjà fait en ASP pour le passer en .NET |
Non.
Les HtmlControls sont les contrôles HTML.
Les WebConrols sont les contrôles ASP.Net.
Quand tu fais du HTML static, si tu rajoute un ID et un runat="server" sur ta balise static, alors ça devient un contrôle serveur, qui hérite de.... HtmlControl, c'est magique
ex :
* une table, ça devient une HtmlTable.
* un div, ca devient un HtmlGenericControl.
Donc non, je suis pas d'accord pour dire que c'est pour "faire une transition en douceur".
En revanche, on peut dire que les WebControl sont une surcouche des HtmlControls.
Les deux se complètent, et la grande majorité des gens utilisent un mélange des deux, sans même savoir qu'ils utilisent des HtmlControls (ex : chaque fois que tu utilises une <table> au lieu d'une <asp:Table> )
Marsh Posté le 28-03-2007 à 11:20:30
dymezac a écrit : Dans le cas des WebControls, n'y a t'il pas un peu trop d'aller/retour serveur ?? |
C'est le codeur qui décide quand il veut faire ses aller/retour serveur.
dymezac a écrit : Je développe en C# des pages Asp.Net depuis environ 6 mois et depuis le début je construit mon Html dynamiquement avec des String et des StringBuilder().. |
Olalalala... en terme de maintenance, je ne veux jamais avoir à travailler avec tes projets.
Moi aussi j'ai fait ce genre de connerie quand je débutais, et je l'ai regretté amèrement : la personne qui a suivi sur le projet a dû tout jeter et tout refaire "normallement" le jour où y'a eu besoin de faire une modif. Pourquoi ? Paske le pb du HTML généré c'est que tu n'as pas de lisibilité globale sur ta page. Y'a des morceaux qui sont créé par-ci par-là et t'es obligé de lire le code de chaque morceau généré sour savoir s'il est généré en utilisant un div ou une table (par exemple)
dymezac a écrit : Mais je viens seulement de me rendre compte qu'il existait les HtmlControls !!! |
L'équipe dans laquelle tu travaille est une équipe de noobs qui ne connait pas sa techno.
dymezac a écrit : Par exemple un simple select asp: nous fait un aller retour serveur dès qu'on lui a mis un évènement onclick par exemple !! |
Normal. Ton code, le code associé à ton OnClick, il est exécuté où ce code ? Sur le serveur !
C'est là où ton équipe n'a rien compris : la différence entre code serveur (C#) et code client (Javascript).
Je veux bien que tu m'expliques ce que tu voulais faire avec ton OnClick, que tu arrives à faire sans A/R serveur.
J'imagine que tu vas me parler de Javascript, mais le JS est complètement compatible avec les contrôles ASP.Net.
Tout le reste de ton message est basé sur une grande incompréhension de la technologie, aussi je vais m'arrêter là, paske tu te plantes assez radicalement (pas de ta faute, apparemment les gars qui t'ont expliqué t'on salement enduits d'erreurs)
A ta dispo pour d'éventuelles précisions.
Marsh Posté le 28-03-2007 à 11:39:13
_Mose_ a écrit : Non. |
je maintiens ce que je dis, dans la mesure ou "les réels objets du framework" sont les WebControls, et que les HTMLControls permettent, à partir d'un code existant (pré-.NET) d'utiliser un certain nombre de fonctionalités des WebControls, sans pour autant devoir modifier en profondeur le code.
mais à la base, pour un nouveau site, il vaut mieu éviter les HTMLControls, au profit des WebControls, qui offrent plus de possibilités, et permettent de faire une abstraction totale de la syntaxe HTML.
Exemple, j'ai une page ASP :
|
Maintenant, je passe en .NET, trois choix s'offrent à moi :
Méthode pourrie, uniquement pour raisons de compatibilité ascendante :
|
Méthode utilisant les HTML Controls : (uniquement de nouveaux attributs)
|
|
Méthode utilisant les Web Controls : (réécriture du tag complètement)
|
|
=> Le <p> est changé en <span> ce qui peu avoir des répercussions au niveau CSS par exemple
Marsh Posté le 28-03-2007 à 11:41:18
_Mose_ a écrit : Normal. Ton code, le code associé à ton OnClick, il est exécuté où ce code ? Sur le serveur ! |
Effectivement, "ClientOnClick" spa fait pour les chiens
Marsh Posté le 28-03-2007 à 11:57:37
Bonjour Mose,
merci pour tes explications..
En effet, l'entreprise ou j'ai été embauché il y a 6 mois ne connaissait pas la technologie ASP.NET sauf par un stagiaire qui développait en .Net qui est resté plusieurs mois et a développé une application.
On a donc découvert l'asp.net sur le tas..
Par contre ayant tous déjà fait du php, on a gardé les séquelles et on a réfléchit un peu comme quand on réfléchissait en php, d'où des construction de html en string..
_Mose_ a écrit : Olalalala... en terme de maintenance, je ne veux jamais avoir à travailler avec tes projets. |
Par contre au niveau de mes projets, ça se tient bien, j'ai développé des objets hyper pratiques tel que des tableaux html qu'on génère en lui affectant des propriétés et une dataTable. Par exemple on lui donne une dataTable et des propriétés pour le tableau html, puis on récupère le html brut avec un ToString()..
Du coup le seul code html généré en brut se trouve une seule fois dans le ToString() de ma classe GenererTableauHtml.cs
tu vois ce que je veux dire, ça tient la route..
Maintenant que je connais les HtmlControls, je peux très bien re-écrire un jour le ToString() en question
Pareil, je me suis fait un GenererChampsDeFormulaire.cs sur lequel je fais des addInputText(label, value, title, classCss, etc..) et toutes les pages du site utilisent cette classe, avec un ToString() qui retourne le html brut. Donc en terme d'optimisation avec les HtmlControls, je pourrai toujours plus tard ré-écrire ces méthodes (addInputText, addSelect() etc..) en leur faisant utilisé des HtmlControl() et ce de manière transparente pour l'ensemble du site.
En terme de Design Pattern, on pourrait dire que j'ai fait des Constructeur (Builder).
Pour optimiser tout ça, il me resterai plus qu'à faire des Fabrique (Factory) du genre HtmlControlFactory.cs qui me fabrique des HmlControl (avec des getInputText(value, title, id, name, etc..) que je fabriquerai à partir de mes classes GenererTableauHtml et GenererChampsDeFormulaires.. Et toujours mon ToString() qui me renverrai du html brut sous forme de string.
Pour les pages que l'on a développé, c'est très lisible, il y a du commentaires et c'est très structurés, le projet est tout à fait reprennable par n'importe qui. Et puis on a de la doc.
_Mose_ a écrit : J'imagine que tu vas me parler de Javascript, mais le JS est complètement compatible avec les contrôles ASP.Net. |
Par contre, peux tu me dire comment tu fais pour dire à un controle ASP.Net que tu ne veux pas qu'il fasse d'aller retour serveur ?
J'ai lu hier soir de la doc sur OnClientClick, c'est de ça qu'il s'agit ?
Peux tu me dire un peu comment tu codes et comment tu utilises dans tes projets les différentes objets dispo, et pourquoi tu les utilise à tel moment et pa d'autres (HtmlControl, WebControl)..
Marsh Posté le 28-03-2007 à 12:00:29
Et bien autant je trouve le C# et .NET super pour faire des applications en winforms face à du C++, autant ca me semble super compliqué pour pas grand chose l'ASP.NET comparé par exemple au PHP pour faire du développement web.
Je fais principalement du dev. web en php, et comme à coté de celà je fais aussi un peu de dev. winforms en C# je voulais essayer de me réorienter vers de l'ASP.NET (surtout que de part le passé j'ai déjà fait de l'asp 3.0) pour la partie web, mais franchement pour le moment que ce soit sur la méthodologie à adopter ou bien les 36 objets tout bizarre pour simplement sortir 3 lignes d'une base de donnée, je comprends rien.
Marsh Posté le 28-03-2007 à 12:06:49
_Mose_ a écrit : |
Autre chose que j'avais remarqué :
Les controles Asp.Net ne font que générés du javascript en arrière plan si on peut dire, pour faire fonctionner des controles html standard.
Il est vrai qu'ils facillitent apparamment pas mal le codage au développeur, mais pour des éléments basiques, du genre des champs basiques de formulaires, c'est peut être pas la peine de passer par les controle Asp.Net si ?? ou bien ?
Parce que le javascript que Asp.Net génère, je le fais aussi, mais au moins je sais ce qui est dans la page c'est moi qui l'ai fait.. Parfois le javascript qu'asp.Net génère est pas ttrès lisible non ?
merci pour vos réponses
Marsh Posté le 28-03-2007 à 12:14:34
dymezac a écrit : Par contre au niveau de mes projets, ça se tient bien, j'ai développé des objets hyper pratiques tel que des tableau html du'on génère en lui affectant des propriétés et une dataTable. Par exemple on lui fonne une dataTable et des propriétés pour le tableau html, puis on récupère le html brut avec un ToString().. |
=> avec des webcontrols :
DataGrid monTableau = new DataGRid();
monTableau.DataSource = monDataTable;
monTableau.DataBind();
=> et zou, j'ai mon joli tableau contenant les données de mon DataTable !
Ensuite, un DataGrid permet de faire des tris, de la pagination, de lui affecter un skin, de modifier le type de contrôle utilisé pour un champ, ajouter des lignes, en supprimer, les mettre à jour... Le tout avec 4 lignes de code
Très franchement, je pense que ça vaut le coup de jeter un coup d'oeil
Marsh Posté le 28-03-2007 à 12:15:11
_Mose_ a écrit : Les deux se complètent, et la grande majorité des gens utilisent un mélange des deux, sans même savoir qu'ils utilisent des HtmlControls (ex : chaque fois que tu utilises une <table> au lieu d'une <asp:Table> ) |
Une chose que j'ai oublié de préciser :
J'utilise les HtmlControls sans le savoir depuis le début dans la mesure où dans mes pages aspx, j'ai des <div id="zoneXXdeLaPage" runat="server"> qui structurent mes pages et dans lesquels je met mes string html brut à l'aide de zoneXXdeLaPage.innerHtml = monHtmlBrutGénérésAvecMesObjetsPersos (en gros monGenerateurDeTableauHtml.ToString())
qu'en penses tu ?
qu'en pensez vous ?
Marsh Posté le 28-03-2007 à 12:16:23
_synapse_ a écrit : Et bien autant je trouve le C# et .NET super pour faire des applications en winforms face à du C++, autant ca me semble super compliqué pour pas grand chose l'ASP.NET comparé par exemple au PHP pour faire du développement web. |
je confirme, c'est très rebuttant, surtout si t'as de l'expérience avec des langages "old school".
perso, j'en chie toujours comme un russe à chaque fois que je veux faire un bête formulaire un peu évolué
Marsh Posté le 28-03-2007 à 12:18:08
dymezac a écrit : Autre chose que j'avais remarqué : |
le js que .NET te génère, t'as pas à t'en soucier. il est justement là pour t'affranchir d'en faire un.
c'est ça le principal but des WebControls : tu ne te soucis que de ce que ça fait, pas de comment ça marche.
Marsh Posté le 28-03-2007 à 12:20:29
dymezac a écrit : Une chose que j'ai oublié de préciser : |
Mettons que tu as un div, dans lequel tu veux ajouter un champ de type "input" :
|
en CS :
|
=> c'est quand même plus propre que ta solution non ?
(ps : la class, c'est pas "InputBox", mais j'ai pas en tête son vrai nom, c'était juste à titre d'exemple )
Marsh Posté le 28-03-2007 à 12:21:21
MagicBuzz a écrit : => Le <p> est changé en <span> ce qui peu avoir des répercussions au niveau CSS par exemple |
Bonjour MagicBuzz,
Dans quel cas, le p est changé en span (HtmlControl ou WebControl) ??
cela est effectivement parfois problématique..
Marsh Posté le 28-03-2007 à 12:23:16
en fait, il faut voir ASP.NET comme si tu travaillais avec DOM.
=> sauf qu'au lien de travailler avec des objets générique, tu utilises des "nodes" typées.
et entre travailler en XML à coup de stringbuilder et à coup de DOM, y'a pas photo, DOM est bien plus pratique, pour des performances, quasi identiques.
Marsh Posté le 28-03-2007 à 12:23:54
dymezac a écrit : Bonjour MagicBuzz, |
je ne crois pas qu'il y a de WebControl qui crée un <p>.
par contre, en HtmlControl, il y a un objet "Paragraph" il me semble.
Marsh Posté le 28-03-2007 à 14:05:31
MagicBuzz a écrit : => avec des webcontrols : |
ok merci beaucoup pour toutes tes explciations..
Quelques questions me viennent pourtant :
1) Par défaut, le DataGrid crée va t'il faire des aller/retours serveurs incontrôlés et quand ?
2) Existe t'il autre chose que onClientClick ? du genre onClientChange, onClientFocus, enfin l'éuivalent de chaque événement mais coté client et pas serveur.. Je voudrais pouvoir retrouver mes événements javascript de base (onchange, onchecked, ondblclick, etc..) et éviter un maximum les allers retours serveurs..
3) Est ce que le DataGrid est personnalisable à souhait ou avez vous déjà rencontrés des soucis avec et si oui lesquels ?
Par exemple, si je voulais ajouter deux jolis bouton modifier/supprimer en dernière colonne du tableau ?
Ou bien si je voulais faire des couleurs alternatives en fond de chaque ligne <tr> (blanc, gris, blanc, gris, etc..) et cela en utilisant 2 classes css tr1 et tr2 par exemple..
D'avance merci..
Quand j'aurai un peu de temps, je testerai le dataGrid bien sur..
merci
Marsh Posté le 28-03-2007 à 14:16:38
le datagrid est 100% "personalisable", simplement en utilisant "datarepeater". il va reprendre la structure des lignes de ton datatable, et te laisser choisir ce que tu mets dans tes lignes. genre au lieu de faire un affichage de type tableau, tu peux vouloir faire des vignettes photo + prix pour un site ecommerce par exemple.
ensuite, niveau attributs JS, plusieurs choses :
1/ à l'heure ou plus personne (ou presque) n'est en RTC, économiser quelques Ko de bande passante est quelquechose de superflu
2/ un site correctement conçu doit fonctionner à 100% même sans la présence de JS
3/ c'est à toi de décider si tu fais des aller/retour ou non : au lieu d'utiliser le "onclick" d'un objet serveur, tu peux utiliser "attributes" et ajouter un attribut "onclick" qui sera rendu en HTML, et donc côté client
Marsh Posté le 28-03-2007 à 14:19:15
MagicBuzz a écrit : le datagrid est 100% "personalisable", simplement en utilisant "datarepeater". il va reprendre la structure des lignes de ton datatable, et te laisser choisir ce que tu mets dans tes lignes. genre au lieu de faire un affichage de type tableau, tu peux vouloir faire des vignettes photo + prix pour un site ecommerce par exemple. |
Je suis assez d'accord là dessus, mais va falloir expliquer celà aux promoteurs fou d'ajax en ce moment dont c'est le principal argument
Marsh Posté le 21-02-2007 à 16:43:16
Salut!
Dans le cadre d'une programmation de page et controles web C# ou VB.NET, sans toucher à de l'ASP.NET.
Pensez vous qu'il faille se poser la question "dois je utiliser un HTMLControl, ou un WebControl?"
J'en suis arrivé à un point ou je pense comme ce gars que j'ai lu sur un forum :
Je crois que les HtmlControls ne sont la que pour passer "en douceur" de la programmation asp/html à asp.net, un truc un poeu marketing de la part de microsoft pour dire : voyez, vos controles html dont vous avez l'habitude, hop vous leur mettez un runat="server" et ça devient des controles serveurs. A part ça, ce sont plutot les WebControls les vrais controles asp.net, car mieux intégrés au model objet de ce framework.
êtes vous d'accord avec ce raisonement?
C'est vrai qu'en y repensant, je ne vois pas l'interet d'utiliser du HTMLControl quand en programme en .NET (à part les performances, mais ce n'est pas transcendant.. ou alors autant tout generer en string et hop HTMLWriter.. bref.. on est dans le monde .NET maintenant)
qu'utilisez vous? dans quelles circonstances?
---------------
██████████████████████████████████