zl程序教程

您现在的位置是:首页 >  后端

当前栏目

ASP.NET中实现模板页

NetASP模板 实现
2023-06-13 09:13:42 时间

  使用过JavaStruts的程序员应该知道,Struts中有一个模板标记,虽然其使用起来比较复杂,但对于有大量页面的程序来说其带来了很多方便。但是,在ASP.NET中并没有现成实现可用,这方面国内讨论的也很少,其实,重写sender方法我们也可以实现类似的功能。下面是我项目中使用的一个基类模板类。

 1usingSystem;
 2usingSystem.Web.UI;
 3
 4namespaceRepeaterDemo.Web.PageTemplate
 5{
 6/**////<summary>
 7///WebPageTmplate页模板基类。
 8///</summary>
 9publicclassWebPageTmplate:System.Web.UI.Page
10{
11
12 属性#region属性
13 stringpageTitle="Title";
14 stringpageHeader= "<tablecellspacing="0"cellpadding="0"width="100%"height="49"background="http://localhost//RepeaterDemo//Images/top_stripe1.gif"border="0">"+
15      " <tr>"+
16      "   <tdvalign="top"><imgalt=""src="http://localhost//RepeaterDemo//Images/title.gif"border="0"></td>"+
17      " </tr>"+
18      "</table>";
19 stringpageScript;
20
21 stringpageLeft=" Menu";
22
23 stringpageFooter="<divalign="center">meil.cnblogs.com  meil版权所有2006</div>";
24
25
26 publicstringPageTitle
27 {
28  set{pageTitle=value;}
29  get{returnpageTitle;}
30 }
31
32 publicstringPageHeader
33 {
34  set{pageHeader=value;}
35  get{returnpageHeader;}
36 }
37
38 publicstringPageScript
39 {
40  set{pageScript=value;}
41  get{returnpageScript;}
42 }
43
44 publicstringPageLeft
45 {
46  set{pageLeft=value;}
47  get{returnpageLeft;}
48 }
49
50 publicstringPageFooter
51 {
52  set{pageFooter=value;}
53  get{returnpageFooter;}
54 }
55
56 #endregion
57
58 protectedoverridevoidRender(HtmlTextWriterwriter)
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><tdwidth="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(@"<divalign="cnter">"+pageFooter+@"</div>");
75
76  writer.Write(@"</body></html>");
77 }
78}
79
80}