技术开发 频道

基于ASP.NET 3.5与N层架构开发企业SNS

  于是,我们可以勾勒出如下的页面继承架构:


图2  博客系统总体页面设计架构示意图

  从上图中可以看出,母版页面Site.Master是站点级别的母版页面。站点中所有的页面都直接或者间接继承自这个页面。另外,我们还会注意到,母版页面Site.Master定义了两个ContentPlaceHolder,一个相应于左边栏目,另一个相应于右边栏目。

  Page.Master和Admin.Master页面都是嵌套的母版页面;它们都继承自母版页面Site.Master。这两个母版页面的右边栏目都是继承自母版页面Site.Master。对于母版页面Page.Master,右边栏目用于显示各种博客导航选项(即通过标签,月份,文章和回馈)。对于母版页面Admin.Master,右边栏目用于显示各种系统管理员导航选项(即管理博客入口,日志和设置等)。

  所有的用户接口页面都继承自母版页面Page.Master。在这个继承链中,仅有左边的栏目(即内容栏)在新的页面中进行调整,而所有其他的部分都使用了继承。在整个用户页面中,仅有错误页面和登录页面特别一些,这些页面中不需要存在导航选项,因此它们直接继承自站点级别母版页面。

  所有的系统管理员页面都继承自母版页Admin.Master。在这个继承链中,仅有左边的栏目(即内容栏)在新的页面中进行调整,而所有其他的部分都使用了继承。

  另外值得注意的是,除了母版页面继承之外,我们的博客系统中还使用了一个基页面。每一个用户接口页面的后台代码文件都继承自这个基页面(位于View/Masters/_PageBase.cs文件中)。通过这个基类PageBase,所有的继承自此基类的页面都可以使用一个UI格式化函数—ImplodeTags函数。

  (二)设计站点母版页面——Site.Master

  设计好上面的页面继承架构后,接下来,创建新的、漂亮的且外观一致的web页面就变得非常容易和迅速了。

  注意,在Visual Studio 2008中,嵌套的母版页面在设计时刻的显示效果非常不错,这使得当我们设计一个具体的内容页面时可以很容易地看到最终的结果形式。

0
相关文章