当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > ASP.NET中实现模板页

ASP.NET
Visual Studio.Net 内幕(7)
.Net 2.0 原汁原味读取注册表
ASP.NET 2.0中预设的cookie
ASP.NET:一段比较经典的多线程学习代码
ASP.NET2.0服务器控件之自定义状态管理
Asp.net给站点某目录增加Aspnet用户
ASP.NET技巧:请求网址并解析返回的html
在Asp.net用C#建立动态Excel
ASP.NET2.0:页面中链入的CSS、js文件带中文时需注意
ASP.NET技巧:数据岛出到Excel最为简易的方法
第一次用.net2.0 LOGIN登陆控件的困惑和解决方法
在ASP.net中保存/取出图片入/从SQL数据库
ASP.NET技巧:做个DataList可分页的数据源
在.NET中利用委托实现窗体间通信
在.NET2.0中使用自定义事务操作
解决 ASP.NET中目录访问权限的问题
ASP.Net防止刷新自动触发事件的解决方案
白刃之战:PHP vs. ASP.NET(节选)-架构比较
C#中使用SendMessage
提取HTML代码中文字的C#函数

ASP.NET中实现模板页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 131 ::
收藏到网摘: n/a

使用过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="&nbsp;Menu";
22
23  string pageFooter="<div align='center'>meil.cnblogs.com&nbsp;&nbsp;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'>&nbsp;" + 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}