客户在浏览公司网站时,常常会对一些产品进行较为简单的查询搜索,本实例将讲解其实现过程。
效果说明
客户可以在如图 86-1 所示的页面中选择特别查询字段,输入查询数据,对产品进行模糊查询,结果如图 86-2 所示。


创作构思
在“ index.aspx ”页面中添加下拉列表、文本框及按钮,完成产品搜索页面的设置,制作出跟实例 85 中树形目录索引显示页面相同的页面作为产品搜索页面,然后设置程序以实现产品搜索。
操作步骤
步骤一 产品搜索页面的设置
( 1 )在“ LeftTb ”表格中添加 4 行并设置样式。打开“ index.aspx ”,在设计视图里的“ LeftTb ”表格中添加 4 行并设置样式,如图 86-3 中圆角方框所示。

( 2 )添加控件。单击 ASP.NET 快捷菜单栏上的【 asp :下拉列表】按钮,为新添加的第 2 行添加下拉列表控件,如图 86-4 所示。
( 3 )添加列表标签及相应的值。在新添加的下拉列表“ FieldList ”属性窗口中单击【列表项】按钮,在弹出的【列表项】对话框中添加 3 个标签,一个标签为“产品编号”,其值为“ CPID ”;一个标签为“产品名”,其值为“ CPNAME ”;一个标签为“产品分类”,其值为“ CPFL ”,结果如图 86-5 所示。

( 4 )继续在新添加的行中添加文本框,设 ID 为“ SearchTxt ”,并添加两个按钮,一个按钮为“搜索”, ID 为“ GoBt ”;另一个按钮为“高级搜索”, ID 为“ TopgoBt ”,结果如图 86-6 所示。
步骤二 实现产品搜索
( 1 )切换到代码视图,在“ <script Runat="Server"> ”中添加“ GoBt_click ”过程,其代码如下所述。
Sub GoBt_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Redirect("CpSearch.aspx?keyfield="+SearchTxt.Text+"&keyindex="+ FieldList.SelectedValue)
End Sub
(读者可打开【光盘】|【源文件】|【实例 86 】|【 86.1.txt 】文件,直接复制)
程序说明:
单击【搜索】按钮,则执行该过程。该过程主要是将页面指向“ CpSearch.aspx ”,并传递“ keyfield ”、“ keyindex ”两个参数。“ keyfield ”参数用于存储客户搜索时在【 FieldList 】下拉列表中选择的关键字段,“ keyindex ”参数用于存储客户搜索时在【 SearchTxt 】文本框中输入的数据。
( 2 )在“ <script Runat="Server"> ”中添加另一个过程“ TopgoBt_Click ”,其代码如下所述。
Sub TopgoBt_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Response.Redirect("TopSearch.aspx")
End Sub
(读者可打开【光盘】|【源文件】|【实例 86 】|【 86.2.txt 】文件,直接复制)
( 3 )绑定“ GoBt_click ”过程到【搜索】按钮的“
&Trim(Request.QueryString("keyindex"))& " LIKE '%"
&Trim(Request.QueryString("keyfield"))&"%' ORDER BY CPID ASC"
TrSearchData.Debug=true
End Sub
(读者可打开【光盘】|【源文件】|【实例 86 】|【 86.3.txt 】文件,直接复制)
提示:查询命令采用了模式匹配运算符“ LIKE ”,并结合“ % ”进行模糊查询。例如 SELECT * FROM DreamweaverCP WHERE CPFL LIKE “% 日用 %” ,该查询是要查询“ DreamweaverCP ”表里“ CPFL ”(产品分类)字段中含有“日用”二字的所有产品。
( 6 )保存“ CpSearch.aspx ”、“ index.aspx ”页面,在 IE 中预览“ index.aspx ”,效果如图 86-1 所示,在产品搜索文本框中输入“日用”,单击【搜索】按钮,结果如图 86-2 所示。
本实例主要运用了 SQL 模糊查询,作了简单查询的介绍。在实际中,这样的查询是远远不能满足客户更大的查询要求的,实例 89 将在这基础上介绍高级搜索实现。至此,本实例介绍完毕。