复合控制 - 如何从postbackdatacollection获取数据

时间:2012-12-25 06:50:18

标签: c# asp.net custom-controls

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

每次回发后,我都会看到下拉列表保留其选定的值。

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

我认为这是因为我试图过早获得选定的价值。 (在执行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 []&lt; - 我在这里发现DROPDOWN'的价值

但想知道我需要做什么才能通过下拉列表属性获取价值,即dropdown.selectedValue

0 个答案:

没有答案
相关问题