本文共 1244 字,大约阅读时间需要 4 分钟。
1:介绍整体文件夹和文件的作用
2:介绍秋色园业务处理流程
3:介绍如何实现无后缀URL
4:介绍URL如何定位到处理程序
ps:下载地址:
本节将为大家介绍如何设计一个页面的基类,并解析该基类的设计方案。
传统的页面基类通常继承自System.Web.UI.Page,如下所示:
继承的原因包括:
1:为了处理某些共同逻辑,减少代码复制,统一处理某些事情
2:基于开发习惯,需要使用丰富的服务器控件和ViewState等功能
3:早已习惯WebForm开发,尽管最近MVC开发逐渐流行
在一些内部系统或站点管理后台中,我常用该基类来处理以下内容:
1:用户权限管理
2:常见方法封装,包括服务端方法和脚本方法
3:列表控件(如Repeater、DataList、GridView)的进一步控制
4:其他功能
System.Web.UI.Page类的继承结构如下:
public Page() { } 其关键点在于:
为了实现与丰富的服务器控件打交道,继承自TemplateControl,并引入ViewState
同时也被世人所鄙视,甚至将网站运行慢的原因归咎于ViewState
有部分人选择MVC的原因之一就是避免ViewState,并且得到更干净的HTML输出。例如:
在站点的HTML源代码中,很难找到ViewState的影子时,人们会误以为是MVC开发的
但实际上,这并不意味着一定是MVC开发的
没有ViewState并不一定是MVC开发的,可能是通过截断输出并对HTML进行替换处理
接下来,我们将设计一个属于自己的页面基类,继续这个话题。
基类设计原则:
该基类继承自IHttpHandler
如:
public abstract class HttpCustom : IHttpHandler
具体实现包括:
创建属于自己的页面生存周期方法
如:
public static void RegisterPageLifeCycle(object sender, EventArgs e)
在流程中:
创建Default.ashx处理程序,继承自HttpCustom
并重写Page_Load方法
最终实现了属于自己的页面生存周期
总结:
本节介绍了传统Page基类的使用,并展示了我们如何设计一个自定义基类HttpCustom,继承自IHttpHandler
下一节将解析如何实现页面的加载与呈现,以及如何处理事件请求
转载地址:http://qrwuz.baihongyu.com/