12
votes

Chaos quand écrit de manière incorrecte à l'écrivain pendant le rendu () méthode

Quelqu'un pourrait-il s'il vous plaît expliquer ce qui se passe ici.

J'ai le marquage suivant: xxx

Mon contrôle personnalisé est quelque chose comme ceci: < Pré> xxx

Lorsque la page est rendue, toute la moitié supérieure de la tête est coupée, le HTML rend donc comme celui-ci: xxx

le La solution consiste à appeler écrivain.write après la base.Render, comme celle-ci: xxx

pourquoi ?!

Je suis surpris du montant de l'intérêt dans cette question!

J'ai découvert pourquoi la partie supérieure de mon étiquette de tête était enlevée - c'était un bug avec un httphandler que j'utilise "nettoyer" HTML (il déplace les scripts sur le bas, etc.).

Cela n'explique toujours pas exactement pourquoi changer l'ordre de la méthode de rendu entraînerait la disparition du bogue, mais je suis sûr que là-bas est une explication logique pour tout!


4 commentaires

Pas beaucoup? MSDN.MicRosoft.com/en-us/ Bibliothèque / ...


Intéressant. Ils mentionnent normalement de telles choses ...


Cela fonctionne pour moi correctement. (Et je ne vois pas une raison pour laquelle cela ne devrait pas.)


@MORMEGIL intéressant ... doit être autre chose dans mon code de code qui le dérange alors.


3 Réponses :


1
votes

Vous écrasez simplement votre contenu de votre corps avec ce que vous revenez de votre fonction:

<script>this is my script</script>


1 commentaires

Il n'y a pas de "écrasement" en cours.



0
votes

Je regarderais attentivement le HTML rendu dans les deux cas. On dirait que votre script peut avoir un rendu incorrect, ce qui entraînerait l'échec du code HTML suivant. La modification de la commande modifiera l'ordre de votre rendu HTML, ce qui signifie que l'erreur n'a pas d'impact autant de la page.


0 commentaires

0
votes

Voici comment remplacer correctement le Control.Render (HTMLTextWriter Writer) Méthode, faites défiler jusqu'à la section Exemples: http://msdn.microsoft.com/en-us /library/system.web.ui.htmltextwriter.aspx

La partie essentielle est xxx

sinon vous pouvez confondre le htmltextwriter La hiérarchie d'indentation de l'indentation, etc.

une solution plus simple à votre exemple de béton - si vous ne voulez pas modifier programmatiquement les attributs de la balise Tag à seulement .


0 commentaires