本例介紹了在Dreamweaver MX 2004中如何製作ASP搜索表單。
應用本教程前的準備工作:
①已經成功建立ASP運行環境;
②已經在Dreamweaver中建立動態站點並成功連接資料庫;
1、首先在要輸入搜索信息的頁面上(如:index.htm)建立一個搜索的表單,
表單中包含一個文本域(input text),名稱(name)為"keyword",
表單(form)的名稱(name)為"form1",動作(Action)填入"search.asp";
2、製作處理搜索結果頁search.asp,你可以先設計好頁面的界面。設計好之後,開始建立記錄集。在「應用程式」面板上點擊「綁定」>「記錄集(查詢)」。輸入名稱,選擇相應的連接和數據表,在「篩選」中,選擇一個欄位「包含」「表單變量」:"keyword"(和你在index.htm中定義的文本框的名稱一致),
切換到高級視圖,可以看到生成的SQL語句
3、在頁面中將記錄一一綁定,圖中的{Form.keyword},實際上是<%= Request.Form("keyword") %>以獲取搜索的內容。接下來就可以對已經綁定的動態數據添加伺服器行為,如「重複區域」、「分頁」等等,
因為搜索過程中很有可能出現搜索的內容不存在的情況,所以我們這裡一定要添加一個「如果記錄集不為空則顯示」的伺服器行為。選中動態數據所在的那一行(<tr>...</tr>),點擊「伺服器行為」中的「顯示區域」>「如果記錄集不為空則顯示」。再找到
<% End If end Not search.EOF Or NOT search.BOF %>
所在的地方,在前面添加幾行代碼,成為如下:
<% Else %>
<tr><td>你所查詢的內容不存在,請更改關鍵詞後再查詢!</td></tr>
<% End If end Not search.EOF Or NOT search.BOF %>
4、這個搜索表單基本上已經完成了。但如果要想讓搜索出的結果以突出的方式顯示(比如用紅色、加粗的字體表示),則可以在html代碼的<html>標記之前加入以下代碼:
圖中橙色背景的部分即是頁面中要突出顯示的效果。
5、然後在要突出顯示的地方修改以下代碼:
如將原來的<%=(search.Fields.Item("n_contents").value)%>修改為:
<%=ShowBold(search.Fields.Item("n_contents").value)%>
以下為引用的內容: <% function ShowBold(theField) Set objRegExp= New RegExp objRegExp.Pattern="(" & Request.Form("keyword") & ")" 其中的keyword要和index.htm中文本框的名字一致 objRegExp.IgnoreCase=True objRegExp.Global=True ShowBold=objRegExp.Replace(theField,"<font color=red><b>$1</b></font>") end function %> |
OK,到這裡就完成了。