使用过JavaStruts的程序员应该知道,Struts中有一个模板标记,虽然其使用起来比较复杂,但对于有大量页面的程序来说其带来了很多方便。但是,在ASP.NET中并没有现成实现可用,这方面国内讨论的也很少,其实,重写sender方法我们也可以实现类似的功能。下面是我项目中使用的一个基类模板类。
非常感谢JusticFu的提醒,我查了一下DotNet 2.0下的确有MasterPage ,看来还的不断学习才行!今天把文章的标题更新了一下,因为我的开发环境现在是DotNet1.1也只能用这种方式实现了。
1
using
System;
2
using
System.Web.UI;
3
4
namespace
RepeaterDemo.Web.PageTemplate
5
{
6
/**//// <summary>
7
/// WebPageTmplate 页模板基类。
8
/// </summary>
9
public class WebPageTmplate:System.Web.UI.Page
10
{
11
12
属性#region 属性
13
string pageTitle="Title";
14
string pageHeader= "<table cellspacing='0' cellpadding='0' width='100%' height='49' background='http://localhost//RepeaterDemo//Images/top_stripe1.gif' border='0'>" +
15
" <tr>" +
16
" <td valign='top'><img alt='' src='http://localhost//RepeaterDemo//Images/title.gif' border='0'></td>" +
17
" </tr>" +
18
"</table>" ;
19
string pageScript;
20
21
string pageLeft=" Menu";
22
23
string pageFooter="<div align='center'>meil.cnblogs.com meil 版权所有 2006</div>";
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(@"<html><head><title>" + pageTitle + @"</title>");
63
writer.Write(pageScript + @"</head><body>");
64
65
writer.Write(pageHeader);
66
67
writer.Write(@"<table><tr><td width='200'> " + pageLeft + @"</td><td>");
68
69
// 其次允许基类呈现ASPX页面中的HTML代码及ASP.NET控件
70
base.Render( writer );
71
72
writer.Write("</td></tr></table>");
73
74
writer.Write(@"<div align='cnter'>" + pageFooter + @"</div>");
75
76
writer.Write(@"</body></html>");
77
}
78
}
79
80
}
81
82

2

3

4

5



6


7

8

9

10



11

12


13

14

15

16

17

18

19

20

21

22

23

24

25

26

27



28



29



30

31

32

33



34



35



36

37

38

39



40



41



42

43

44

45



46



47



48

49

50

51



52



53



54

55

56

57

58

59



60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82
