使用过JavaStruts的程序员应该知道,Struts中有一个模板标记,虽然其使用起来比较复杂,但对于有大量页面的程序来说其带来了很多方便。但是,在ASP.NET中并没有现成实现可用,这方面国内讨论的也很少,其实,重写sender方法我们也可以实现类似的功能。下面是我项目中使用的一个基类模板类。
非常感谢JusticFu的提醒,我查了一下DotNet 2.0下的确有MasterPage ,看来还的不断学习才行!今天把文章的标题更新了一下,因为我的开发环境现在是DotNet1.1也只能用这种方式实现了。
1
using
System;
2
using
System.Web.UI;
3![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
4
namespace
RepeaterDemo.Web.PageTemplate
5![](https://i-blog.csdnimg.cn/blog_migrate/b8c34a45706f0241ba85a0fda81f1783.gif)
{
6
/// <summary>
7
/// WebPageTmplate 页模板基类。
8 /// </summary>
9
public class WebPageTmplate:System.Web.UI.Page
10![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
11![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
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![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
21
string pageLeft=" Menu";
22![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
23
string pageFooter="<div align='center'>meil.cnblogs.com meil 版权所有 2006</div>";
24![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
25![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
26
public string PageTitle
27![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
28![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
set {pageTitle=value;}
29![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
get {return pageTitle;}
30
}
31![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
32
public string PageHeader
33![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
34![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
set {pageHeader=value;}
35![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
get {return pageHeader;}
36
}
37![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
38
public string PageScript
39![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
40![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
set {pageScript=value;}
41![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
get {return pageScript;}
42
}
43![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
44
public string PageLeft
45![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
46![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
set {pageLeft=value;}
47![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
get {return pageLeft;}
48
}
49![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
50
public string PageFooter
51![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
52![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
set {pageFooter=value;}
53![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
get {return pageFooter;}
54
}
55![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
56
#endregion
57![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
58
protected override void Render(HtmlTextWriter writer)
59![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
{
60![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
61![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
62
writer.Write(@"<html><head><title>" + pageTitle + @"</title>");
63
writer.Write(pageScript + @"</head><body>");
64![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
65
writer.Write(pageHeader);
66![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
67
writer.Write(@"<table><tr><td width='200'> " + pageLeft + @"</td><td>");
68![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
69
// 其次允许基类呈现ASPX页面中的HTML代码及ASP.NET控件
70
base.Render( writer );
71![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
72
writer.Write("</td></tr></table>");
73![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
74
writer.Write(@"<div align='cnter'>" + pageFooter + @"</div>");
75![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
76
writer.Write(@"</body></html>");
77
}
78
}
79![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
80
}
81![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
82
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
2
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
3
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
4
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
5
![](https://i-blog.csdnimg.cn/blog_migrate/b8c34a45706f0241ba85a0fda81f1783.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/95503d1b55c3a4f72d8874cd6ecc2df5.gif)
6
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
7
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
8 /// </summary>
9
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
10
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
11
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
12
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
13
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
14
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
15
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
16
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
17
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
18
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
19
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
20
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
21
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
22
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
23
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
24
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
25
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
26
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
27
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
28
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
29
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
30
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
31
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
32
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
33
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
34
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
35
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
36
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
37
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
38
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
39
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
40
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
41
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
42
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
43
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
44
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
45
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
46
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
47
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
48
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
49
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
50
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
51
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
52
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
53
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
54
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
55
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
56
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
57
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
58
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
59
![](https://i-blog.csdnimg.cn/blog_migrate/b08d6a821231afac7d17be96fd818210.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/6268b4fc7e11ce4cf7976c555e433769.gif)
60
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
61
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
62
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
63
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
64
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
65
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
66
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
67
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
68
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
69
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
70
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
71
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
72
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
73
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
74
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
75
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
76
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
77
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
78
![](https://i-blog.csdnimg.cn/blog_migrate/79a722d4f540fb8adc56f39da37227d5.gif)
79
![](https://i-blog.csdnimg.cn/blog_migrate/89be923b41a07fc21096cd7231bf0287.gif)
80
![](https://i-blog.csdnimg.cn/blog_migrate/5da08f4000243cfbcd8af7f228f1839b.gif)
81
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)
82
![](https://i-blog.csdnimg.cn/blog_migrate/d54a888673301f07e01a88a6290747fc.gif)