DropDownList的乙個不常見用法

2021-04-12 15:26:56 字數 1688 閱讀 8910

常見的,我們可以用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...