2012-03-12 105 views
0

假設我有三個網頁 - 一個用於大型汽車,一個用於中型汽車,另一個用於小型汽車。簡單的asp控制器

每個頁面幾乎完全相同,包含一個窗體,您可以選擇按顏色等過濾汽車列表以及提交按鈕。在客戶端,唯一的區別是標題。

在服務器端,唯一的區別是在WHERE子句中,例如:

... where car_type = "big" and color = %s, Response.Form['color']

但我怎麼能拯救自己的每一頁創建三個不同的ASP腳本?我如何繞過我所擁有的car_type?

我在想也許通過使用查詢字符串,但查詢字符串數據將在用戶按下提交按鈕時丟失。

感謝,

巴里做到這一點

回答

1

您已經找到了自己的解決方案。雖然可能不是最好的。編程時,您總是希望儘量減少冗餘,避免代碼重複,因爲如果不是惡夢,它總是會成爲維護的麻煩。所以,你真的想避免創建三個相同的頁面,只是一個微小的參數差異。

爲什麼不簡單地創建一個單一頁面,其中包含要搜索的車輛類型的選擇菜單?如果需要的話,你可以附加一個使用Javascript的onselect處理程序到那個會重新加載頁面的菜單。 (它甚至可能不是)。在一些菜單,你可以有指向此頁面(search.asp或其他)含有車型像這樣的鏈接:

  • search.asp型= L
  • 搜索的.asp?類型= M
  • search.asp?類型= S

只是一個想法。玩弄代碼,這樣你會學到很多東西。 ASP是一種古老的技術,但我認爲它是學習Web應用程序的很好的技術。請閱讀文檔以瞭解它爲您提供的設施,以避免重複代碼。這是一個collection of things I found useful

0

的一種方法是使用查詢字符串中的第一次訪問頁面時,然後隱藏字段通過對過濾的車型。