《引言》得到众多群友的关注,让我感觉压力甚大,不知是否能够回报给大家尽可能高质量的完整系列。同时从反馈获知希望能够共同交流.subtext研究心得的群友不少。所以,我干脆架设了一个相关站点,用以专门发布我个人二次开发的相关版本,同时也作为大家交流的场所:http://subtext.8001861.com。只是非常可惜的是,目前网站所在的服务器带宽非常小,访问速度会很慢,哈哈哈,锻炼大家耐心的机会(如果哪位群友可以提供共享空间,非常感谢! ),同时,以后所有的二次开发版本都将通过此站提供下载,就不一一回复各位的邮件了。

  本来刚才还在考虑,今天如何切入主题的,正好看到一未注册用户Eve的留言,其中提到mtime,提到myspace.cn,尤其是提到blog页面布局的不足,于是临时确定就从.subtext的页面加载说起。

  .subtext对于页面重定向,同样是在httpHandlers中进行处理的(请注意web.config中的相关配置节),httpHandlers节中定义对各种类型的文件或某个目录,或某一具体路径访问的处理HandlerFactory(关于IHttpHandlerFactory的运行机制,请各位查阅MSDN,我这里不做详细讲述),需要特别注意的是,对于所有不需要特殊处理和重定向处理的页面或目录,或者需要特殊处理和不需要重定向的页面和目录,需要在这里添加配置,特别需要注意的是这一句:

<add verb="*" path="*" type="Subtext.Framework.UrlManager.UrlReWriteHandlerFactory, Subtext.Framework"/>
这一句需要放置在httpHandlers配置节点的最后(呵呵呵,大家应该能够理解为什么需要这样处理)。

  到此处,重定向处理已经进入预定的轨道了,后面还涉及到实质性的Code,但是如果各位梳理到了这个地方,后面的详细处理应该可以弄明白,暂时先点到此处,意犹未尽最是喜人:):。

  再回到Eve朋友的留言,提到如果Blog的各个功能页面能够有不同的布局就好了,现在请大家再看web.config的HandlerConfiguration节点下的HttpHandlers配置节,比如:

<HttpHandler pattern="(?:/archive/\d{4}/\d{2}/\d{2}/\d+\.aspx)$" controls="viewpost.ascx,Comments.ascx,PostComment.ascx"/>
此节点,对应的就是重定向时对blog文章阅读页面的url构成规则,和阅读页需要加载的控件(控件如何加载到页面中,后文会有专文讲述),那么既然这里可以定义加载的控件列表,那么我们就可以定义一个页面专门用来布局(theme.ascx),然后再在此页面加载实际的功能模块控件,不就实现了最终显示的效果差异化了么?

  呵呵呵,思路如此,各有不同,不明之处,请留言共同讨论。

  注:明天会实现一个具体的实例,放置在http://subtext.8001861.com站点供大家体验。欢迎群友访问。

  另:项目包待实现此文提到的页面布局个性定义后一并提供下载,预计周六下午(明天迎接奥运,放假半天:):)。

转载于:https://www.cnblogs.com/Luna/archive/2008/08/07/1263317.html

我的.Subtext二次开发之路系列:兵马未动,粮草先行相关推荐

  1. 我的.Subtext二次开发之路系列:引言

    话说2007年10月,因为陈诺帮助朋友学校开发一套适用于校园的社区系统,所以在经过多方搜寻.对比的基础上,最后选择了.subtext,一是因为.subtext为.text的后续版本,第二原因是.sub ...

  2. 我的.Subtext二次开发之路系列:无限层次分类

    08-14 9:58 修改说明:哈!我说明了会全部放出我的所有修改啊!只是目前完成的量还不多,再加上昨晚(应该说是今天早上)没有及时清理完成整个项目包,所以就为配合文章的内容,先放出web部分了. 同 ...

  3. 一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level

    一文读懂TOF深度相机技术原理--TI-Tintin-OPT8241二次开发和应用系列--Theory Level 转载请附上出处,本文链接:https://www.cnblogs.com/pans0 ...

  4. [毕业生的商业软件开发之路]系列文章目录规划

    目前[毕业生的商业软件开发之路]系列文章规划出的目录如下,希望靠大家一起完善它,有什么意见欢迎跟帖. 第一章 课程背景 高校毕业生就业问题 高校毕业生就业方式 第二章初入职场 课程说明 关于企业培训 ...

  5. .NET AutoCAD二次开发之路(二、直线篇)

    我以前只有一点VB的基础,C语言也只是看过,学这个CAD二次开发,也是借工作之余研究下,我到现在已经从事机械行业5年了,中国的工业设计环境区别太大,各行各业的技术现状也不尽相同,但有一点是可以肯定的, ...

  6. 小飞鱼 通达OA二次开发网络课程 系列视频课程在CSDN发布

    小飞鱼通达OA二次开发网络课程  (上传完毕) http://edu.csdn.net/course/detail/4479 小飞鱼通达OA二次开发程序设计基础 http://edu.csdn.net ...

  7. C# Cad二次开发新手入门系列教程(二)Line对象

    目录 Line对象说明 创建一个Line对象 Line对象说明 Line对象为CAD中的直线,什么是直线,严格来说CAD中的直线并非数学中定义的直线,实际上CAD的直线只是一个线段而已!那么在数学上我 ...

  8. C# Cad二次开发新手入门系列教程(一)开发环境搭建

    目录 前言 开发需要做什么准备? 编写自己的第一个程序 前言 本课程主要针对刚接触Cad二次开发或者准备入门Cad二次开发的朋友,笔者是用的C#进行开发,在该系列教程内,笔者会带着大家从最基础的开发到 ...

  9. 踏上Revit二次开发之路 2 从“HelloWorld”入手

    2 从"HelloWorld"入手 在欧特克的官方网页上有个叫<My First Plug-in Training>的项目,号称可以让一个完全没有编程基础的人照着做出一 ...

最新文章

  1. git如何移除某文件的版本控制
  2. How to debug Custom Action DLL
  3. python多线程读取文件夹下的文件_是否可以使用python多线程从文件夹数读取文件数,并处理这些文件以获得组合结果?...
  4. Multi Dimension 数据库设计
  5. 简单理解线程同步上下文
  6. python界面开发工 跨平台具_python GUI开发常用工具
  7. doubango安卓端的帧率太低,解决办法
  8. 【路径规划】基于matlab遗传和模拟退火算法机器人路径规划【含Matlab源码 1206期】
  9. Linux 天翼3G上网
  10. 快讯:百度正式宣布CTO李一男离职
  11. python如何把csv转化为xls_python中如何将csv文件转为xls文件
  12. 优化函数 (Optimization Function)
  13. 网络爬虫-京东优惠活动数据分析
  14. 【OpenCV】⚠️高手勿入! 半小时学会基本操作 15⚠️ 对象测量
  15. 鸿蒙3.0来了,这次,我真的想批评鸿蒙了
  16. iPhone中通过ics来添加农历与天气预报
  17. 孩子不是绑架婚姻的借口
  18. 计算 1! + 2! + 3! + 4! +... + 10! 说明:4! 表示4的阶乘。4的阶乘是:1 * 2 * 3 * 4
  19. Zcash:工作原理
  20. ios7版本 控件设置圆角

热门文章

  1. 计算机毕业设计SSM大学生学习交友平台【附源码数据库】
  2. react 动态修改路由_升级到 React Router 4 并实现动态加载和模块热替换
  3. DDR、DDR2、DDR3、DDR4、LPDDR区别(自用)
  4. 在Windows上使用Google Chrome安装Helvetica Neue字体被认为是有害的
  5. 李永乐复习全书概率论与数理统计 第七、八章 参数估计及假设检验
  6. 如何阻止冒泡浏览器默认行为
  7. 通达信全市场数据导入指南—基于股票量化分析工具V2.0!
  8. BN(Batch Normalization)
  9. python基础语法—day15(笔记)
  10. 戴尔台式计算机没有声音,笔记本电脑上没有声音,并教您如何在戴尔笔记本电脑上没有声音的情况下解决问题...