2010-05-13 4 views
3

Je veux accéder au code HTML brut que mon ASP.NET System.Web.UI.Page est sur le point de rendre.Comment modifier HTML brut de la page ASP.NET sur PreRender?

Comment puis-je faire cela? Y at-il une propriété ou une méthode comme System.Web.UI.Page.HTML ou quelque chose comme ça. Je sais que je pourrais parcourir la liste des contrôles de la page et avoir accès à tous les contrôles Literal etc, mais je me demandais s'il y a une propriété directe ou une méthode qui peut me renvoyer le html brut, que je peux modifier juste avant de rendre la page.

Répondre

4

Tout d'abord, sur PreRender, la page n'a pas encore été Render 'd, il n'y aurait donc pas de code HTML.

Ensuite, regardez la propriété HttpResponse.Filter.

+0

Oui, la page n'est pas rendue mais tous les contrôles sont prêts à être rendus, vous pouvez modifier toutes les valeurs de contrôle ici et elle se refera sur la page rendue. par exemple, je peux me procurer un lien hypertexte et modifier sa propriété de navigation, et il reflétera sur la page rendue. Oh je suppose, puisque je peux apporter des modifications aux contrôles qui signifie que le HTML final n'est pas encore prêt. Gotchaa ... où puis-je me procurer le html final et y apporter des modifications avant de le rendre? – ace

+3

Comme je l'ai dit, regardez la propriété Filter. –

+0

ok ça a marché. Merci pour l'aide. – ace

1

Vous pouvez également utiliser HTTPModules pour apporter des modifications ou simplement observer le contenu dans le Pipeline HTTP. Cela vous permettrait de faire des choses qui ne sont pas nécessairement la préoccupation de l'application principale. En plus de fournir des couches supplémentaires pour votre architecture d'application, cela peut être utile pour injecter des modifications après la production d'un produit, car l'application principale elle-même n'a pas nécessairement besoin d'être informée des changements (bien que cela dépende de la configuration module en).

Questions connexes