您现在的位置:龙卷风首页 ›› 网络编程 ›› 阅读文章

使用QueryString与Form表单结合完成复杂检索任务

网页程序设计小技巧

目标要求:1,建立通用搜索页面;2,通过另一个页面的Form提交搜索请求但搜索条件简化,并且KeyWord表单名改变;3,通过List列表提交同类搜索请求。

这个目标乍看起来似乎相当复杂,需要改变的东西太多,但总结起来有两方面是不变的:1,都需要提交搜索请法求,不管是使用Form提交,还是使用QueryString提交;2,经过各种判断,最终得出SQL语句对数据库进行查询,并分页显示。本安全的难点在于,如何判断页面来源?

这儿引出了本文的主题——QueryString与Form表单结合。我们提交数据的时候,一会只会采取其中之一,极少会想到两者一起使用。所谓一起使用,是指使用如下面的From目标文件设定:<Form Action="ActionPage?Action=Doit">红色的部分是重点所在。这样设置之后,提交的数据不但包括所有Form的原素,也包括了所有?后面的Query设定。这样,我们只要能过判断?之后的query数据,就可以断判请求页面的来源了。

另一个难点在于分页。分页之后,所有原先提交的数据将不复存在。解决办法是引入session机制,查是这样一来页面来源也即丢失。但是没关系,只要处理好逻辑关系,请求的数据已经被保存起来了——当然,也可以考虑把请求页面的数据一并保存起来。

本例的示例程序参见广州考研网的共享资源搜索程序,是一步一步建立并完善的,出于需求的变更而作。在改变的过程中,逐渐意识到,编程的本质不外乎分析问题的逻辑,明辨数据流向的异同并加已控制而已。道理是明了,要真正运用纯熟,却需要长期的锻炼方可达到。

作者 不见不散 本文仅代表作者观点,与龙卷风资讯网立场无关。

我来说两句

内容/Content