Les programmeurs qui ont utilisé JavaStruts doivent savoir qu'il existe une balise de modèle dans Struts. Bien qu'elle soit plus compliquée à utiliser, elle apporte beaucoup de commodité aux programmes comportant un grand nombre de pages. Cependant, il n'existe pas d'implémentation prête à l'emploi dans ASP.NET, et il y a peu de discussions à ce sujet en Chine. En fait, nous pouvons également réaliser des fonctions similaires en réécrivant la méthode de l'expéditeur. Vous trouverez ci-dessous une classe de modèle de base utilisée dans mon projet.
1en utilisant le système ;
2en utilisant System.Web.UI ;
3
4espace de noms RepeaterDemo.Web.PageTemplate
5{
6 /**//// <résumé>
7 /// Classe de base du modèle de page WebPageTmplate.
8 /// </summary>
9 classe publique WebPageTmplate:System.Web.UI.Page
10 {
11
12 propriétés#propriétés de la région
13 chaînes pageTitle="Titre";
14 chaînes pageHeader= "<table cellpacing='0' cellpadding='0' width='100%' height='49' background='' border='0'>" +
15 "<tr>" +
16 " <td valign='top'><img alt='' src='' border='0'></td>" +
17 " </tr>" +
18 "</table>" ;
PageScript de 19 chaînes ;
20
21 chaîne pageLeft=" Menu";
vingt-deux
23 chaînes pageFooter="<div align='center'>meil.cnblogs.com meil Copyright 2006</div>";
vingt-quatre
25
26 chaînes publiques Titre de la page
27 {
28 définir {pageTitle=value;}
29 obtenez {return pageTitle;}
30}
31
32 chaînes publiques PageHeader
33 {
34 définir {pageHeader=value;}
35 obtenir {return pageHeader;}
36}
37
38 chaînes publiques PageScript
39 {
40 définir {pageScript=value;}
41 obtenez {retour pageScript;}
42 }
43
44 chaîne publique PageLeft
45 {
46 définir {pageLeft=valeur ;}
47 obtenez {retour pageLeft;}
48 }
49
50 chaînes publiques PageFooter
51 {
52 définir {pageFooter=value;}
53 obtenez {retour pageFooter;}
54 }
55
56 #endregion
57
58 remplacement protégé void Render (écrivain HtmlTextWriter)
59 {
60
61
62writer.Write (@"<html><head><title>" + pageTitle + @"</title>");
63writer.Write(pageScript + @"</head><body>");
64
65 écrivain.Write(pageHeader);
66
67writer.Write (@"<table><tr><td width='200'> " + pageLeft + @"</td><td>");
68
69 // Deuxièmement, la classe de base est autorisée à restituer le code HTML et les contrôles ASP.NET dans la page ASPX
70 base.Render (écrivain);
71
72 écrivain.Write("</td></tr></table>");
73
74writer.Write (@"<div align='cnter'>" + pageFooter + @"</div>");
75
76 écrivain.Write (@"</body></html>");
77 }
78 }
79
80}
81
82
http://meil.cnblogs.com/archive/2006/06/22/432709.html