DropDownList單選與多選下拉框

2022-07-18 01:54:12 字數 3052 閱讀 9291

一.單選

dropdownlist傳值

1.新增介面的

dropdownlist顯示值問題

(1)在方法內新增viewdata的方法:

var ad = new

unitsrepository();

viewdata[

"datasourceid

"] = new selectlist(ad.dsname(), "

id", "

dsname");

viewdata[

"showstyleid

"] = new selectlist(ad.showstyle(), "

id", "

name

");

從而傳值到

dropdownlist下拉框

(2)在試圖中使用

dropdownlist:

資料元:

@html.dropdownlist("datasourceid", viewdata["datasourceid"] as selectlist, "--請選擇--", new )

(3)按確認提交後,可使用post表單提交方法在後台獲得下拉框選取的值

2.編輯介面的

dropdownlist顯示值與取值問題

(1)在方法內新增

viewdata的方法:

1

var rep = new

unitsrepository().getviewdata(confid);

2var ad = new

unitsrepository();

3 viewdata["

datasourceid

"] = new selectlist(ad.dsname(), "

id", "

dsname

", rep.dsname);

4 viewdata["

showstyleid

"] = new selectlist(ad.showstyle(), "

id", "

name

",rep.showstylename);

其中rep的值為:

1

public units getviewdata(int

config)

2).tolist();

12 result1 = (from u in

res13

select

newunits

14).tolist();

18return

result1.firstordefault();

19 }

viewdata分別呼叫的ad方法為:

1

public

iqueryable dsname()

2

這裡需要注意的是,"selectistlistitem"

和"listbox"

的繼承類"selectlist"可以很好很方便的進行數值的傳遞,第四個引數就是為

dropdownlist提供預設顯示值,即資料庫內提取出來的值

(2)在試圖中的

dropdownlist對應的也有預設值的顯示設定:

資料元:

@html.dropdownlist("datasourceid", viewdata["datasourceid"] as selectlist,model.dsname)

因為是強型別試圖,所有可以有model,其中model.dsname就是後台viewdata獲取的selectvalue了。

二.多選

dropdownlist下拉框

1.首先引用物件的css和1.8.11js指令碼,其中css檔案有:

2.獲取多選下拉框的選項值:         

@html.dropdownlist("publishto", viewdata["publishto"] as selectlist, "--請選擇--", new )

其中的viewdata獲取值方式和前面的單選dropdownlist下拉框類似。

這裡遇到的乙個不同的情況是,多選項資料來自資料庫表中乙個物件的其中乙個屬性,而不是乙個表的某個屬性的所有物件。

這裡就那該專案為例:

w,m,t分別代表:

"web平台" ,

"移動平台" ,

"客戶端平台"

而這乙個字串存在乙個物件的乙個屬性中,但是頁面中顯示效果為:

所以在獲取資料時有所不同:

後台定義乙個類和方法:    

1

public

class

publishto24

public

string name 56

7public

static listgetpublishtolist()8,

12new publishto ,

13new publishto

14};15}

16 }

分別把w,m,t賦不同的字串,

在方法中用viewdata取值時,語法為: 

viewdata["publishto"] = new selectlist(publishto.getpublishtolist(), "code", "name");

從而是前台顯示的時候為對應的字串。

3.多選下拉框取值的問題,可以用post表單獲取資料的方式:           

string pub = request.form["publishto"].tostring();

這樣,字串pub就可以獲得類似「w,m"等型別的字串了,然後存入資料庫就行了。

擴充套件DropDownList

使用dropdownlist,我們習慣在所有待選資料前面加乙個空白項,或者 請選擇 的提示,微軟卻沒有,這可能就是中西文化的差異.現在擴充套件為dropdownlistpro 經過 除錯,和看源 得知預設選中的行為是在selectedindex的get方法中設定的.所以過載該方法,即可達到目的.pu...

DropDownList的繫結與顯示問題

經常會遇到這種情況,dropdownlist控制項大部分用在繫結資料庫資料方面居多,但是常常要求它顯示在頁面上的的時候是乙個非資料庫中資料的內容,比如 請選擇 全部xx 等等,而實現這種功能的方法簡單不簡單我就不多說了,直接看源 吧!這裡假設要繫結的資料庫及欄位已經建好並確定 繫結資料庫欄位的 我就...

dropdownlist資料繫結

在web.config配置檔案連線資料庫 新建乙個 sqlhelp 類 string scon system.configuration.configurationmanager.connectionstrings scon connectionstring 執行查詢的方法返回的是乙個dataset...