QueryString 翻譯成查詢字串,是最簡單的網頁與伺服器之間的問答機制,下面是一個簡單的詢問商品價格的示範網頁範例,請建立一個ASP.NET網站,先在網站內加入一個文字檔名為 Price.txt 內容如下: 再到網頁上設計如下的介面:
完整程式碼如下:包括網頁一開始載入時如有詢價動作會找到答案回覆,以及按鍵提出詢價的動作。
執行網頁打入品名,如果在價目表之內就會回應如:牛肉麵:80元這樣的結果!
上例中的Uri函數是網址列訊息的特殊編碼方式,看過很多網址列像這樣的『亂象』嗎? |
資料庫查詢的範例:資料庫下載 |
試試看使用Yahoo網路字典時網址列的反應。 在網址列直接打入查詢字串,測試網路字典的反應。 |
使用查詢字串查詢資料的程式: 說明:以下是一個類似網路字典的搜尋程式,資料庫是校內一些專有名詞的中英文對照表,輸入查詢字串之後使用之前學過的 Like 搜尋機制即可調閱出需要的資料。 1.開啟新網站,下載資料庫到專案內(先看看資料庫的內容) 2.在網頁上佈置一個文字方塊、一個按鍵以及一個資料表 3.設定資料表的Where條件 4.執行程式在網址列後面加上『?qq=Pro』會出現如下畫面,資料庫的英文欄有Pro的資料都會被叫出。 上面的方式可以順利的在網址列輸入搜尋字串,但是中文字直接輸入網址列通常就不行了!必須藉助ASP的伺服端程式幫忙,請先將上述資料表條件改為中文搜尋, 在上面的 Search 按鍵輸入程式: Response.Redirect("Default.aspx?qq=" + TextBox1.Text) 或 Server.Transfer("Default.aspx?qq=" + TextBox1.Text) 其中的Default.aspx應該指本網頁名稱,TextBox1為輸入搜尋字串的控制項 按下Search鍵之後你會看到網址顯示的是 Url編碼的結果。 挑戰: 1.如何讓上例網頁可以同時接受中英文查詢? 2.如何讓程式在使用者按下 Enter 鍵時執行? |
建立一個可以用學號查詢姓名的網頁 作法如下: 1.下載這個資料庫 2.開啟專案,將資料庫置入 3.佈置一個GridView,設定資料來源顯示資料表M,只顯示不重複的姓名資料。 4.設定條件 5.仿照上一範例完成搜尋介面即可 |
更複雜的查詢:某同學某天的課 1.開啟新網頁 2.佈置一個文字盒用於輸入學號 3.佈置一個下拉式選單(DropDownList),手動建立選項(Items)從『一』到『五』 4.開啟另一網頁,佈置一個GridView,設定查詢字串變數,學號部份如前,週日部份如下 5.佈置一個查詢按鍵(第一個網頁)寫程式如下: Response.Redirect("目標網頁名稱?id=" + TextBox1.Text + "&cday=" + DropDownList1.SelectedValue) |