[ASP.NET][DropDownList](note)『資料繫結』後加入『請選擇』靜態項目

資料繫結後加入"請選擇"靜態項目

如果已利用sqldatasource小精靈從資料庫抓取資料作用下拉式清單的項目,

但又想在這些清單中的第一個清單建立一個「請選擇」的項目,

若在後置程式碼中的pageload事件中建立,如:DropDownList1.Items.Add("請選擇");

這樣會有問題,我忘了是會被洗掉,還是無法讓「請選擇」出現在清單的第一個,

反正透過下列方式可以解決就是了...

在Asp.Net的DropDownList控制項中,除了可以使用資料繫結(DataBind)的方式,也可使用靜態方式建立選項項目,亦可兩者同時建立。我們不用CodeBehind的寫法直接使用滑鼠完成DropDownList同時建立動態與靜態項目,一個很基礎又很實用的技巧記錄如下。

首先必須將DropListBox中的AppendDataBoundItems屬性設定為True,其功用如下方說明所示:將資料繫結項目附加至靜態宣告的清單項目。原來Vistual Studio都幫我們預先做好了,只要設定為Ture就可以。

接著將靜態項目加入DropDownList中,方法如下圖:

 

完成後的程式碼如下:
<asp:DropDownList ID="DropDownList" runat="server"  DataSourceID="SqlDataSource" DataTextField="Test1" DataValueField="Test2"  AppendDataBoundItems="True" >
            <asp:ListItem Value="0">請選擇</asp:ListItem>
</asp:DropDownList>

<asp:SqlDataSource ID="SqlDataSource" runat="server"      ConnectionString="<%$ ConnectionStrings:TestConnectionString %>" 
            SelectCommand="Select * From Test">
</asp:SqlDataSource> 

 

*****補充一下******

上述的做法必需針對網站裡每一個 DropDownList 控制項都加入一個 ListItem,

若日後需要修改文字, 只好逐一進行修改, 為了解決這個問題, 可以改用以下寫法

<asp:DropDownList ID="DropDownList1" runat="server" AppendDataBoundItems="True" 
    DataSourceID="SqlDataSource1" DataTextField="CName" DataValueField="ID">
    <asp:ListItem Text='<%$ AppSettings:emptyItem %>'></asp:ListItem>
</asp:DropDownList>
然後在 web.config appSettings裡加入需要的文字即可
<appSettings>
    <add key="emptyItem" value="請選擇..."/>    
</appSettings>

參考來源:http://tgw1029.blogspot.tw/2010/03/dropdownlist.html

 

 
--
強烈建議購物網店或實體店家都必須使用關鍵字廣告or原生廣告來將Yahoo上與聯播網的廣大流量導至自己的網站!

●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD

 

​​