2009-08-23 66 views

回答

7
Request.Form[yourDropDownList.UniqueID] 

的UniqueID返回 「ctl00 $ $ ContentMain ddlCountry」,其中作爲 ClientID的返回 「ctl00_ContentMain_ddlCountry」

的UniqueID的插入到其在回發形式名稱使用​​的HTML形式的名稱。

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

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

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

+0

Jan,我有類似的情況,由於某種原因,我的RadComboBox在回發時丟失了它的值。我使用的是一個ObjectDataSource,並且始終認爲它在頁面生命週期中的正確位置處進行綁定,所以我不確定爲什麼會發生這種情況。有什麼想法嗎? – Jacques 2012-04-26 12:31:01

+0

對不起,雅克,我幫不了那個。它將使用常規的DropDownList進行快速測試。如果這有效,那麼問題可能在控制之內。否則,請嘗試在此處詢問Stack Overflow。 :) – 2012-04-26 13:10:22

+0

你剛剛救了我幾個小時的工作。謝謝 ! – buzibuzi 2018-02-02 13:17:25

1

這是我使用VS2010的解決方案。 1.將EnableViewState設置爲false。 2.將下拉列表框綁定到sqldataadapter。

之前: 將EnableViewState設置爲false後,我不得不在每次回發時重新加載列表框。這工作。然而,第一次從列表中選擇一個值時,SelectedIndexChanged事件被觸發,但selectecitem.Value沒有改變(它保持在「0」)。第二次從列表中選擇一個值時,selectecitem.Value是正確的。

相關問題