Os programadores que usaram JavaStruts devem saber que existe uma tag de modelo no Struts. Embora seja mais complicada de usar, ela traz muita comodidade para programas com grande número de páginas. No entanto, não existe uma implementação pronta disponível no ASP.NET e há pouca discussão a esse respeito na China. Na verdade, também podemos obter funções semelhantes reescrevendo o método do remetente. Abaixo está uma classe de modelo base usada em meu projeto.
1usando Sistema;
2usando System.Web.UI;
3
4Repetidor de namespaceDemo.Web.PageTemplate
5{
6 /**//// <resumo>
7 /// Classe base do modelo de página WebPageTmplate.
8 /// </summary>
9 classe pública WebPageTmplate:System.Web.UI.Page
10 {
11
12 propriedades#propriedades da região
13 string pageTitle="Título";
14 string pageHeader= "<tabela cellpacing='0' cellpadding='0' largura='100%' altura='49' background='' border='0'>" +
15 "<tr>" +
16 " <td valign='top'><img alt='' src='' border='0'></td>" +
17" </tr>" +
18 "</table>";
PageScript de 19 strings;
20
21 string pageLeft="Menu";
vinte e dois
23 string pageFooter="<div align='center'>meil.cnblogs.com meil Copyright 2006</div>";
vinte e quatro
25
26 string pública PageTitle
27 {
28 conjunto {pageTitle=valor;}
29 obtenha {return pageTitle;}
30}
31
32 string pública PageHeader
33 {
34 conjunto {pageHeader=valor;}
35 obtenha {return pageHeader;}
36}
37
38 string pública PageScript
39 {
40 conjunto {pageScript=valor;}
41 obtenha {return pageScript;}
42}
43
44 string pública PageLeft
45 {
46 conjunto {pageLeft=valor;}
47 obtenha {return pageLeft;}
48}
49
50 string pública PageFooter
51 {
52 conjunto {pageFooter=valor;}
53 obtenha {return pageFooter;}
54}
55
56 #regiãofinal
57
58 substituição protegida void Render (escritor HtmlTextWriter)
59 {
60
61
62 escritor.Write(@"<html><head><title>" + pageTitle + @"</title>");
63 escritor.Write(pageScript + @"</head><body>");
64
65 escritor.Write(pageHeader);
66
67 escritor.Write(@"<table><tr><td width='200'> " + pageLeft + @"</td><td>");
68
69 // Em segundo lugar, a classe base tem permissão para renderizar o código HTML e os controles ASP.NET na página ASPX
70 base.Render(escritor);
71
72 escritor.Write("</td></tr></table>");
73
74 escritor.Write(@"<div align='cnter'>" + pageFooter + @"</div>");
75
76 escritor.Write(@"</body></html>");
77}
78}
79
80}
81
82
http://meil.cnblogs.com/archive/2006/06/22/432709.html