Programmierer, die JavaStruts verwendet haben, sollten wissen, dass es in Struts ein Template-Tag gibt. Obwohl es komplizierter zu verwenden ist, bringt es viel Komfort für Programme mit einer großen Anzahl von Seiten. Allerdings gibt es in ASP.NET keine fertige Implementierung und in China gibt es kaum Diskussionen darüber. Tatsächlich können wir ähnliche Funktionen auch durch Umschreiben der Sender-Methode erreichen. Unten finden Sie eine Basisvorlagenklasse, die in meinem Projekt verwendet wird.
1System verwenden;
2mit System.Web.UI;
3
4Namespace RepeaterDemo.Web.PageTemplate
5{
6 /**//// <Zusammenfassung>
7 /// Basisklasse der WebPageTmplate-Seitenvorlage.
8 /// </summary>
9 öffentliche Klasse WebPageTmplate:System.Web.UI.Page
10 {
11
12 Eigenschaften#regionale Eigenschaften
13 Zeichenfolge pageTitle="Title";
14 string pageHeader= "<table cellspaced='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>" ;
19 String pageScript;
20
21 Zeichenfolge pageLeft=" Menu";
zweiundzwanzig
23 string pageFooter="<div align='center'>meil.cnblogs.com meil Copyright 2006</div>";
vierundzwanzig
25
26 öffentliche Zeichenfolge PageTitle
27 {
28 set {pageTitle=value;}
29 get {return pageTitle;}
30}
31
32 öffentliche Zeichenfolge PageHeader
33 {
34 set {pageHeader=value;}
35 Holen Sie sich {return pageHeader;}
36}
37
38 öffentliche Zeichenfolge PageScript
39 {
40 set {pageScript=value;}
41 get {return pageScript;}
42 }
43
44 öffentliche Zeichenfolge PageLeft
45 {
46 set {pageLeft=value;}
47 get {return pageLeft;}
48 }
49
50 öffentliche Zeichenfolge PageFooter
51 {
52 set {pageFooter=value;}
53 get {return pageFooter;}
54 }
55
56 #endregion
57
58 protected override void Render(HtmlTextWriter-Writer)
59 {
60
61
62 write.Write(@"<html><head><title>" + pageTitle + @"</title>");
63 write.Write(pageScript + @"</head><body>");
64
65 Writer.Write(pageHeader);
66
67 write.Write(@"<table><tr><td width='200'> " + pageLeft + @"</td><td>");
68
69 // Zweitens darf die Basisklasse den HTML-Code und die ASP.NET-Steuerelemente auf der ASPX-Seite rendern
70 base.Render(writer);
71
72 write.Write("</td></tr></table>");
73
74 write.Write(@"<div align='cnter'>" + pageFooter + @"</div>");
75
76writer.Write(@"</body></html>");
77 }
78 }
79
80}
81
82
http://meil.cnblogs.com/archive/2006/06/22/432709.html