摘要:[習題 / 文章試讀]連動式 地址查詢(連動式 DropDownList,類似郵局的功能)
[習題]連動式 地址查詢(連動式 DropDownList,類似郵局的功能)
這問題,算是網路論壇的第一號FAQ了吧。
常見度超高..............
這個功能不難,但以前要寫 JavaScript也很複雜。
程式多到我自己也看不懂。
但有了 ASP.NET + SqlDataSource (or AccessDataSource)以後
就變得超簡單的。
只要善用 Visual Studio、
熟悉 SqlDataSource的精靈,
尤其是裡面「Where」按鈕的操作,就很簡單。
==== 基礎技巧 =================================
以下是我的書本(上集),第九章 第一節的操作說明:
http://www.dotblogs.com.tw/mis2000lab/archive/2008/12/02/gridview_sqldatasource_1202.aspx
有PDF檔下載,可以閱讀。
書本(上集),第九章 第二節的操作說明:
http://www.dotblogs.com.tw/mis2000lab/archive/2009/03/13/7462.aspx
基本上,這樣的技巧熟悉以後,就能完成。
=============================================
本來不想張貼這篇,因為我跟本不知道對方底子到哪裡?
但如果您 (1). 具備基本能力(例如:熟讀書本的上集,第九章)
(2). 剩下就只有「關連式資料表」是您比較吃力的部分了。
這部分,我不知道怎麼帶你走。
只能說多學、多作、多看(多觀摩人家作品,例如微軟的DB範例,北風資料庫!)
以下範例會收錄在新書裡面:(圖片五張,請耐心等候)
第一個範例,HTML設計畫面如下:
縣市:<asp:DropDownList ID="DropDownList1" runat="server"
AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="SqlDataSource1"
DataTextField="city_name" DataValueField="a1_id">
<asp:ListItem Value="0">請選擇 --</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT [a1_id], [city_name] FROM [Address_1]">
</asp:SqlDataSource>
區域:<asp:DropDownList ID="DropDownList2" runat="server"
AppendDataBoundItems="True" AutoPostBack="True" DataSourceID="SqlDataSource2"
DataTextField="district_name" DataValueField="a2_id">
<asp:ListItem Value="0">請選擇--</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [Address_2] WHERE ([a1_id] = @a1_id)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList1" Name="a1_id"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
道路:<asp:DropDownList ID="DropDownList3" runat="server"
AppendDataBoundItems="True" DataSourceID="SqlDataSource3"
DataTextField="street_name" DataValueField="a3_id">
<asp:ListItem Value="0">請選擇--</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [Address_3] WHERE ([a2_id] = @a2_id)">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownList2" Name="a2_id"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" Text="Button_確認" />
<br />
結果:<asp:Label ID="Label1" runat="server"
style="font-weight: 700; color: #CC0000"></asp:Label>
==========================================================================================
兩個範例程式如下,請自行下載。
範例下載(必須搭配資料庫,請自己跟著上面的介紹,自己設定):
如果您可以容忍第一支程式的缺點,那就用 SqlDataSource精靈來作吧!
要學第二支程式,也很簡單,
我早就提供 ADO.NET的範本了(for DataReader)
但這部分要看書,不然的話,三言兩語,學不會。
相關文章:
Page_Load事件內,DropDownList的 Items.Count為何是零? SelectedItem與Text屬性抓不到值?
我將思想傳授他人, 他人之所得,亦無損於我之所有;
猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson
線上課程教學,遠距教學 (Web Form 約 51hr) https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015
線上課程教學,遠距教學 (ASP.NET MVC 約 140hr) https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab
寫信給我,不要私訊 -- mis2000lab (at) yahoo.com.tw 或 school (at) mis2000lab.net
(1) 第一天 ASP.NET MVC5 完整影片(5.5小時 / .NET 4.x版)免費試聽。影片 https://youtu.be/9spaHik87-A
(2) 第一天 ASP.NET Core MVC 完整影片(3小時 / .NET Core 6.0~8.0)免費試聽。影片 https://youtu.be/TSmwpT-Bx4I
[學員感言] mis2000lab課程評價 - ASP.NET MVC , WebForm 。 https://mis2000lab.medium.com/%E5%AD%B8%E5%93%A1%E6%84%9F%E8%A8%80-mis2000lab%E8%AA%B2%E7%A8%8B%E8%A9%95%E5%83%B9-asp-net-mvc-webform-77903ce9680b
ASP.NET遠距教學、線上課程(Web Form + MVC)。 第一天課程, "完整" 試聽。
......... facebook社團 https://www.facebook.com/mis2000lab ......................
......... YouTube (ASP.NET) 線上教學影片 https://www.youtube.com/channel/UC6IPPf6tvsNG8zX3u1LddvA/
Blog文章 "附的範例" 無法下載,請看 https://dotblogs.com.tw/mis2000lab/2016/03/14/2008_2015_mis2000lab_sample_download
請看我們的「售後服務」範圍(嚴格認定)。
......................................................................................................................................................
ASP.NET MVC => .NET Core MVC 線上教學 ...... 第一天課程 完整內容 "免費"讓您評估 / 試聽
[遠距教學、教學影片] ASP.NET (Web Form) 課程 上線了!MIS2000Lab.主講 事先錄好的影片,並非上課側錄! 觀看時,有如「一對一」面對面講課。