文章回顾:

 

ps:秋色园QBlog下载地址http://www.cyqdata.com/download/article-detail-427

 

上几节回顾:

事隔多天,由于最近在加大 秋色园QBlog 的优化力度和 秋式开源团队 的一些事情,所以写文速度就缓慢了些,今天继续:

上几节中,主要发布了前面十节的总结演示示例,同时开源了 秋色园QBlog 后台管理系统和一键安装工具,有兴趣的不妨研究研究,相信还是能找到一些不同以往的理念的。

本节将再续前缘,为大伙揭开 秋色园QBlog 的Post提交机制。

 

入手简说:

秋色园QBlog 的Post提交机制,其实很简单:
1:html中在Form中通过放置一个隐藏域
2:当Form提交到后台时,通过隐藏域的约定名称和值来区分并触发Post事件。
3:自定义生命流程中,简单的有相关的处理。

 

一:自定义流程中的Post处理机制

 

先上图一张用过几次的图片:

 

说明:

这是 秋色园QBlog 自定义生命流程中的第二个生命周期,Post触发机制就在这里。

OnPost:protected virtual void OnPost(){ },这是一个虚函数,将由各页面负责重写与处理。

在调用这函数之前,前面有几个小判断,和一个比较特别的PostBufferOK函数。

PostBufferOK:这是一个缓冲机制,除了可以防止二次提交,还带一定范围的秒杀代码提交功能。

PS:以前经常发现有老外经常性往 秋色园QBlog 发乱七杂八的带链接的评论,于是屏蔽之,说明老外也有这种爱好。

 

二:界面对应的隐藏域

 

基本html:

<form method="post" enctype="multipart/form-data">
        <input type="hidden" name="myAct" value="Setting" />

...然后这里是一些提交的文本框,和一个提交按钮,有enctype的说明是带有上传功能的。

</form>

说明:

隐藏域的name约定为myAct,和后台对应,而value,则留待给处理程序作为相应的分支,点击一个submit类型的button提交后,就到上面的自定义生命流程中,然后再分给下面的具体页面处理。

 

三:具体界面ASHX处理程序

 

看一下 秋色园QBlog 中文章评论的提交事件是怎么处理的:

 

说明:

根据隐藏域的value,用switch来区分事件处理即可,提交过来的值怎么获取?
答案:Request[控件的name]

 

总结:

本节,比较简单的介绍了 秋色园QBlog 的Post提交机制,至此,秋色园QBlog 大体整体机制都讲的差不多的,有兴趣的朋友可以好好了解下本系列文章。

系列还没完,精彩还在后面,敬请关注!

posted on 2011-03-29 23:31  路过秋天  阅读(2732)  评论(18编辑  收藏  举报
路过秋天