上一篇讲的是以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
本想传图片,但没有成功,不知道怎么才能用,将就着参考一下吧。