資料繫結後加入"請選擇"靜態項目
如果已利用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
●Yahoo關鍵字廣告/原生廣告
◆Yahoo廣告方案介紹 : https://goo.gl/5k8FHW
◆Yahoo廣告剖析與運用 : http://goo.gl/4xjUJD