上一篇講的是以xml爲數據源時的三級聯動,下面來看一下用數據庫作數據源時應該怎樣實現。在toolkit包中的walkthrough中有一個示例,但只講了webservice如何實現,至於如何實現獲取數據只是一筆帶過,對於很少用強類型化DataSet的人來講一下就蒙了,我就弄了半天,費了好大的勁,在網上google了若干相關內容,終於找到一個http://www.nateirwin.net/2006/11/09/using-aspnet-ajaxs-cascadingdropdown-with-sql-server-database/comment-page-1/#comment-108附在這裏了--英文的,有興趣的不妨看一下,順便給增加個點擊量也好。但這位仁兄只講了步驟,具體的還是沒有。苦惱了許久還是在代碼提示中找到了線索。現在就講一下啦。
aspx頁面:
還是三個DropDownList控件
三個CascadingDropDown:
與第一篇不同的只是設置web服務的設置。
UpdatePanel控件與前一篇同。
aspx.cs與前一篇同,不再用那個頁面方法。
WebService:
基本上與toolkit中sampleWebSite中的相同,但因用的數據庫不同,有字段是不同的。
下面就是如何來建立強類型化的DataSet了
1.建立dataset文件,您的示例網站-》右鍵-》add new item-》DataSet,取名爲Cars,最後生成Cars.xsd文件,這樣才和sampleWebSite中的示例一致。
2.爲每一個表都建立一個TableAdapter,在新建立的文件中右鍵-》add-》TableAdapter按提示做就可以了。前提是你已經建立了數據表,至於數據表我附在了後面。在本例中要建三個。
3.這樣在Web Service中就可以引用了。類Cars下有你所建立的表如:ColorsDataTable,命名空間CarsTableAdapters下有您所需要的Adapter,如MakesTableAdapter。
附:我所用的數據表:
Makes:
id int Unchecked
Manufacturer nvarchar(200) Unchecked
descn nvarchar(1000) Checked
Unchecked
Models:
modelID int Unchecked
modelName nvarchar(100) Unchecked
manuID int Unchecked
descn nchar(10) Checked
Unchecked
Colors:
colorID int Unchecked
color nvarchar(50) Checked
modelID int Unchecked
descn nvarchar(50) Checked
Unchecked
本想傳圖片,但沒有成功,不知道怎麼才能用,將就着參考一下吧。