[習題 / 文章試讀]連動式 地址查詢(連動式 DropDownList,類似郵局的功能)

摘要:[習題 / 文章試讀]連動式 地址查詢(連動式 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>
        
&nbsp;&nbsp;&nbsp;
        <asp:Button ID="Button1" runat="server" Text="Button_確認" />
        <br />
        結果:<asp:Label ID="Label1" runat="server"
            style="font-weight: 700; color: #CC0000"></asp:Label>

 

 

==========================================================================================

兩個範例程式如下,請自行下載。

 

範例下載(必須搭配資料庫,請自己跟著上面的介紹,自己設定):

連動式地址查詢_DropDownList.rar

 

 

如果您可以容忍第一支程式的缺點,那就用 SqlDataSource精靈來作吧!

 

要學第二支程式,也很簡單,

我早就提供 ADO.NET的範本了(for DataReader)

但這部分要看書,不然的話,三言兩語,學不會。

 

相關文章:

Page_Load事件內,DropDownList的 Items.Count為何是零? SelectedItem與Text屬性抓不到值?

 

 

 

 

 

 

 

 




 

 

 

 

我將思想傳授他人, 他人之所得,亦無損於我之所有;

猶如一人以我的燭火點燭,光亮與他同在,我卻不因此身處黑暗。----Thomas Jefferson

線上課程,遠距教學 (Web Form 49hr)  https://dotblogs.com.tw/mis2000lab/2016/02/01/aspnet_online_learning_distance_education_VS2015

線上課程,遠距教學 (ASP.NET MVC 75hr)  https://dotblogs.com.tw/mis2000lab/2018/08/14/ASPnet_MVC_Online_Learning_MIS2000Lab

ASP.NET MVC線上課程 第一天 免費看 (5.5小時) 

寫信給我,不要私訊 --  mis2000lab (at) yahoo.com.台灣  或  school (at) mis2000lab.net


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 (Web Form) 課程 上線了!MIS2000Lab.主講

事先錄製好的影片,並非上課時側錄!   觀看影片時,有如我「一對一」跟您面對面講課

 

ASP.NET MVC 5 線上教學

累積時數約 75小時...... 第一天(5.5小時)完整內容,"免費"讓您評估