2009-08-23 65 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是正确的。

相关问题