2013-05-08 1 views
0

Je veux connaître le cycle de vie des pages Web ASP.NET en utilisant la syntaxe de rasoir. A partir des questions posées sur le cycle de vie du contrôleur ASP.NET MVC sur Stack Overflow, les réponses suggèrent qu'il est expliqué à http://msdn.microsoft.com/en-us/magazine/dd695917.aspx. Donc, je ne pose pas la même question.Quelqu'un peut-il expliquer le cycle de vie des pages Web ASP.NET? (Syntaxe de Razor)

Pour un projet de pages Web ASP.NET pur (et non MVC), je veux connaître la séquence d'événements qui se produit lorsqu'un fichier .CSHTML est demandé par le navigateur.

+0

Ce que vous demandez n'a pas de sens, la Le cycle de vie de la page s'applique aux applications web aspx (non MVC). Je suis assez certain que vous ne pouvez pas utiliser le rasoir en dehors de MVC et il n'a pas un «cycle de vie» comme vous parlez. –

+0

pour le cycle de vie asp.net (aspx) essayez ce lien http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx –

+0

@NicholasKing Razor a été développé à l'origine pour l'ASP. Cadre NET Web Pages: http://www.asp.net/web-pages. Il a été emprunté plus tard par l'équipe MVC en tant que nouveau moteur de vue. –

Répondre

2

Dans un projet de pages Web, les classes C# qui héritent de System.Web.WebPages.WebPage sont générées à partir du fichier Razor lors de la première requête à l'application. La classe a une méthode: Execute, qui contient votre code côté serveur et un certain nombre d'appels WriteLiteral qui sortent le code HTML. Chaque classe porte le nom du fichier .cshtml d'origine par exemple Default.cshtml devient

public class _Page_Default_cshtml : WebPage 

Les classes sont compilées à un dll. Les demandes sont routées vers la classe appropriée.

pages Web ne sont pas un modèle de développement événementiel comme les formulaires Web, donc il n'y a aucun événement particulier en tant que tel que vous pouvez brancher dans comme PreRender ou Page_Load etc.

+0

Apprécierait des pointeurs vers des liens qui pourraient avoir plus de détails à ce sujet. Merci pour vos commentaires. – dushyg

+0

Quel genre de détail recherchez-vous? –

+0

Je suppose qu'il s'agit vraisemblablement d'une mauvaise idée, mais qu'en est-il (en ignorant les contrôleurs et) en remplaçant WebPage.ExecutePageHierarchy, en y plaçant le code PreRender (en utilisant votre propre ViewBag dynamique), puis en invoquant base.ExecutePageHierarchy? –

Questions connexes