使用過javastruts的程序員應該知道,struts中有一個模板標記,雖然其使用起來比較復雜,但對于有大量頁面的程序來說其帶來了很多方便。但是,在asp.net中并沒有現成實現可用,這方面國內討論的也很少,其實,重寫sender方法我們也可以實現類似的功能。下面是我項目中使用的一個基類模板類。
1using system;
2using system.web.ui;
3
4namespace 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}
新聞熱點
疑難解答
圖片精選