0

我知道复合控件会自动处理回发数据。但是我有一个要求,我将下拉列表放在复合控件中并将其绑定到每个回发。

每次回发后,我看到下拉菜单保留了其选定的值。

问题是,在回发期间,当我尝试获取所选值时,它是空的。

我认为这是因为我试图过早地获得选定的值。(在做 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

4

0 回答 0