ASP.NET 1.0 中实现模板页
使用过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
属性
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
using System;2
using System.Web.UI;3

4
namespace RepeaterDemo.Web.PageTemplate5
{6
/// <summary>7
/// WebPageTmplate 页模板基类。8
/// </summary>9
public class WebPageTmplate:System.Web.UI.Page10
{11

12
属性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



浙公网安备 33010602011771号