使用过JavaStruts的程序员应该知道,Struts中有一个模板标记,虽然其使用起来比较复杂,但对于有大量页面的程序来说其带来了很多方便。但是,在ASP.NET中并没有现成实现可用,这方面国内讨论的也很少,其实,重写sender方法我们也可以实现类似的功能。下面是我项目中使用的一个基类模板类。
1using System;
2using System.Web.UI;
3
4namespace RepeaterDemo.Web.PageTemplate
5{
6 /**////
7 /// WebPageTmplate 页模板基类。
8 ///
9 public class WebPageTmplate:System.Web.UI.Page
10 {
11
12 属性#region 属性
13 string pageTitle="Title";
14 string pageHeader= "
" +
15 " " +
16 " | " +
17 "
" +
18 "
" ;
19 string pageScript;
20
21 string pageLeft=" Menu";
22
23 string pageFooter="meil.cnblogs.com meil 版权所有 2006
";
24
25
26 public string PageTitle
27 {
28 set {pageTitle=value;}
29 get {return pageTitle;}
30 }
31
32 public string PageHeader
33 {
34 set {pageHeader=value;}
35 get {return pageHeader;}
36 }
37
38 public string PageScript
39 {
40 set {pageScript=value;}
41 get {return pageScript;}
42 }
43
44 public string PageLeft
45 {
46 set {pageLeft=value;}
47 get {return pageLeft;}
48 }
49
50 public string 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 writer.Write(@"" + pageTitle + @"");
63 writer.Write(pageScript + @"");
64
65 writer.Write(pageHeader);
66
67 writer.Write(@" " + pageLeft + @" | "); 68 69 // 其次允许基类呈现ASPX页面中的HTML代码及ASP.NET控件 70 base.Render( writer ); 71 72 writer.Write(" |
");
73
74 writer.Write(@"" + pageFooter + @"
");
75
76 writer.Write(@"");
77 }
78 }
79
80}
81
82
http://meil.cnblogs.com/archive/2006/06/22/432709.html