无法在asp.net中获得组合框的选定值

时间:2014-03-15 18:15:40

标签: asp.net combobox

我在asp.net中创建了一个下拉组合框。这是:

<asp:ComboBox ID="dropdown_course3" runat="server" AutoPostBack="False" 
         DropDownStyle="DropDownList"
         AutoCompleteMode="Suggest" CaseSensitive="False" 
         ItemInsertLocation="Append">
</asp:ComboBox>

然后我的页面中有一个按钮,当我点击它时,我想获得组合框中所选项目的值。该按钮会导致回发。这是我的代码:

protected void button_conflict_check_button_Click(object sender, EventArgs e)
{
    string dr3 = dropdown_course3.Text;
}

但是这会返回一个空字符串,即使它不应该为空。此外,我尝试了selectedItem,它返回null。任何人都可以帮我这个吗?

而且,这是我填充组合框的方式:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        DataTable subjects = new DataTable();
        CommonFunctions.con.ConnectionString = CommonFunctions.getConnectionString();
        CommonFunctions.con.Open();

        try
        {

            SqlDataAdapter adapter = new SqlDataAdapter("SELECT [crn], [subj], [numb], [section] FROM Courses", CommonFunctions.con);
            adapter.Fill(subjects);

            foreach (DataRow dr in subjects.Rows)
            {
                string displayVal = dr["subj"].ToString() + " " + dr["numb"].ToString() + " " + dr["section"].ToString();

                dropdown_course1.Items.Add(new ListItem(displayVal));
                dropdown_course2.Items.Add(new ListItem(displayVal));
                dropdown_course3.Items.Add(new ListItem(displayVal));
            }
        }
        catch (Exception ex)
        {
            // Handle the error
        }

        // Add the initial item - you can add this even if the options from the
        // db were not successfully loaded

        CommonFunctions.con.Close();
    }
}

由于

1 个答案:

答案 0 :(得分:1)

我发现了这个问题,因为我在页面加载时填充了组合框,如果(!Page.IsPostBack)阻塞,该按钮会导致回发,并且组合框似乎是空的。