常見的,我們可以用dropdownlist的作為值作為乙個篩選條件,以選擇資料。如選擇乙個id,則從資料庫裡讀取該條記錄並render。
考慮另一種情況,我們可能需要讓dropdownlist的value為空,text為所有。當選擇這個item時從資料庫中將所有的記錄選擇出來。
那麼我們該怎麼做呢?
首先,需要在將dropdownlist作為資料來源的sqldatasource以類似於下面的方式寫
<
asp:sqldatasource
connectionstring
="<%$ connectionstrings:pubs %>"
id="sqldatasource1"
runat
="server"
selectcommand
="select au_id, au_lname, au_fname, state from authors where au_id = isnull(@au_id, au_id)"
cancelselectonnullparameter
="false"
>
<
selectparameters
>
<
asp:controlparameter
controlid
="dropdownlist1"
name
="state"
propertyname
="selectedvalue"
type
="string"
convertemptystringtonull
="true"
/>
selectparameters
>
asp:sqldatasource
>
這裡有三個重要的地方:
一:selectcommand中需要對空值進行處理,即isnull(au_id,au_id)。
二:如果傳遞給 selectcommand 的任何關聯引數為空,則 sqldatasource 預設不執行 select 操作。若要允許 select 操作即使在傳遞了空引數時也要執行,可以將cancelselectonnullparameter屬性設定為 false。
三:與dropdownlist相關的controlparameter 需要設定乙個convertemptystringtonull屬性。更多參考在「dataaccess學習」這篇文章的關於處理空值的部分
然後:在dropdownlist中新增乙個節點
<
asp:dropdownlist
id="dropdownlist1"
="true"
runat
="server"
autopostback
="true"
datasourceid
="sqldatasource3"
datatextfield
="au_id"
>
<
asp:listitem
text
="所有"
value
=""selected
="true"
>
asp:listitem
>
asp:dropdownlist
>
乙個關於DropDownList的小bug
發現乙個奇怪的毛病 設定dropdownlist的item時我加了三個屬性值 工人 農民 知識份子 頁面瀏覽時下拉列表裡的三個變成了 農民 知識份子 農民 後來發現乙個規律,把哪個屬性值放到最上面的時候,瀏覽頁面時哪個屬性值就會消失,最後乙個反而會重複出現。除錯了好多次一直沒有解決。為什麼呢.sol...
禁用DropDownList某一選項
乙個下拉式選單,某乙個專案需要禁用,不能讓使用者選擇。其實安全的做法,是不讓這個選擇顯示於下拉式選單中,這樣使用者不管怎樣也選擇不了。另外就是讓這個選擇顯示,在下拉列表有異動時,或提交資料時,提示使用者不能選擇這個選項。上面的演示,run 選項,使用者是無法選擇的。功能實現,寫乙個方法,disabl...
乙個乙個的輸入資料
有兩個需要注意的點 1.while中的內容 whlie ch getchar 0 ch eof 注意這兩個書寫的形式是不一樣的 2.while中就不用再寫getchar了,因為while中本身就有ch getchar 輸入描述 一行,字串行,包含a或b,輸入以字元0結束。輸出描述 一行,乙個字元,a...