Quelle est la différence entre le Rendu et RenderControl dans WebControl création?
J'ai récemment appris à écrire mes propres contrôles webcontrols, mais je suis encore floues sur la différence entre le Rendu et RenderControl. J'ai commencé à l'aide de Rendu, mais à un certain moment, j'ai commencé à utiliser RenderControl, que j'utilise exclusivement. Si je suis formant une mauvaise habitude que je voudrais pour étouffer dans l'œuf maintenant, avant que je mettre dans mes moyens.
Vous devez vous connecter pour publier un commentaire.
RenderControl est utilisé si il existe une commande qui fournit ce que vous voulez de sorte que vous pouvez profiter de la façon dont est rendu.
De rendu est utilisé si vous avez besoin de prendre le plein contrôle sur la façon dont le code html est affiché.
Vous pouvez bien sûr combiner les deux, pour la plupart, une utilisation optimale de votre temps de programmation...
MODIFIER
Pour une meilleure explication sur ce, et un excellent point à ce qu'à utiliser lors de l', voir la réponse à partir de mhenry1384.
Voici une bonne lecture:
Rendre vs RenderControl
Extrait de liens:
Render est une méthode protégée, ce qui signifie que uniquement les Classes dérivées peuvent y accéder. Elle est appelée dans le Cas du Cycle de vie, et ne devrait pas être appelée explicitement dans votre code.
RenderControl est une méthode publique qui vous permet d'appeler la méthode Render quand vous le voulez. Vous pouvez l'utiliser, par exemple, un Contrôle Personnalisé dans lequel vous stockez les Contrôles dans le ControlsCollection mais souhaitez Rendre dans leur propre cellule dans un tableau. Par exemple:
Vous devez toujours remplacer le Rendu, et pas RenderControl, comme il est appelé dans le Cas du Cycle de vie (comme je l'ai déjà dit)
(à partir de http://forums.asp.net/t/909220.aspx/1, désolé, ma réponse est juste un copier-coller, mais je n'ai pas vu beaucoup de point de réécriture d'un tel cristal explication claire)
Je ne comprends toujours pas pourquoi MS n'a pas simplement faire des Render() est une méthode publique. Pourquoi est séparé RenderControl() est-il nécessaire? Le raisonnement qui est absent de toutes les réponses apportées jusqu'à présent. La première personne qui peut l'expliquer, il obtient un brillant upvote.
RenderControl
fournit certaines automatique de surcharge (comme il ne rendra pas si la visibilité est faux), de sorte que l'auteur de la commande n'a seulement besoin de fournir le code HTML pour le rendu de contrôle sans avoir à vous soucier de vérifier si il doit être affiché ou non. Cela pourrait dépendre de contrôle hiarchy, et pas seulement le contrôle de la visibilité de la propriété. Rappelez-vous que leRender
code de déblocage écrit directement à la rivière - de ne pas appeler som code de l'objet qui peut vérifier cela pour vous.RenderControl est utilisé pour le rendu de la page contrôles enfants. De rendu permet un contrôle individuel pour le rendu de lui-même.