簡體   English   中英

asp.net DropDownList的'EnableViewState = false'

[英]'EnableViewState = false' of an asp.net DropDownList

如果asp.net DropDownList設置為EnableViewState = false,則DropDownList.SelectedItem返回null。

那么我可以用什么技術來獲取DropDownList的SelectedItem,同時保持EnableViewState = false?

Request.Form[yourDropDownList.UniqueID] 

UniqueID返回“ctl00 $ ContentMain $ ddlCountry”,其中ClientID返回“ctl00_ContentMain_ddlCountry”

UniqueID將插入到回發表單名稱中使用的HTML表單的名稱中。

this.Request.Form[this.List.ClientID];

我的猜測是問題是你在代碼隱藏文件中手動數據綁定下拉列表。 將數據綁定從Page_Load()Page_Init()可能會有所幫助。

但在我看來,更好的解決方案是使用ObjectDataSource來填充DropDownList的值。 這樣,您就可以確保在頁面生命周期中正確加載值。

string selectedValue = Request.Form["MyDropDownList"];

這是我使用VS2010的解決方案。 1.將EnableViewState設置為false。 2.將dropdownlistbox綁定到sqldataadapter。

之前:將EnableViewState設置為false后,我不得不在每次回發時重新加載列表框。 這很有效。 但是,第一次從列表中選擇一個值時,會觸發SelectedIndexChanged事件,但selectecitem.Value沒有更改(它保持為“0”)。 第二次從列表中選擇一個值時,selectecitem.Value是正確的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM