我知道复合控件会自动处理回发数据。但是我有一个要求,我将下拉列表放在复合控件中并将其绑定到每个回发。
每次回发后,我看到下拉菜单保留了其选定的值。
问题是,在回发期间,当我尝试获取所选值时,它是空的。
我认为这是因为我试图过早地获得选定的值。(在做 dropdown.databind() 之后)
有人能告诉我,如何从回发数据收集中获取选定的值吗?或者在什么情况下我会在复合控件中获得正确的选定值?
这是我的 ovverriden 数据绑定方法:
public override void DataBind()
{
base.DataBind();
addressDataSet = new AddressDataSet();
countryAdapter = new CountriesForAddressTableAdapter();
countryAdapter.Fill(addressDataSet.CountriesForAddress);
maindropdown.DataSource = addressDataSet.CountriesForAddress;
maindropdown.DataTextField = "Name";
maindropdown.DataValueField = "CountryId";
maindropdown.DataBind();
if (!maindropdown.Value.IsNullOrEmpty()) <- THIS Value ALWAYS COMES AS NULL
{
fieldAdapter = new CountrySpecificFieldsTableAdapter();
fieldAdapter.Fill(addressDataSet.CountrySpecificFields, int.Parse(maindropdown.Value));
}
}
//HttpContext.Current.Request.Form[] <- 我在这里找到了 DROPDOWN 的值
但想知道我必须做什么才能通过下拉属性获取价值,即 dropdown.selectedValue