下拉菜单的SelectedItem c#

时间:2015-06-04 22:44:08

标签: c# asp.net drop-down-menu

我已经完成了这一百万次并且不知道我在这里缺少什么....唯一的区别是我在下拉菜单值中没有硬编码,我通过查询动态添加它们。我将发布下面的内容......

ASP.NET:

<asp:DropDownList ID="drpDownMenu" runat="server" CssClass="fields" EnableViewState="true">
      <asp:ListItem Text="<Select Device>" Value="0" />
</asp:DropDownList>

C#:

private void PopulateDeviceDropDown()
    {
        DataTable dtDrpDownListItems = new DataTable();
        string selecItems = "myQuery this works and loads fine";

        try
        {
            SqlDataAdapter adapter = new SqlDataAdapter(selecItems , sqlConn);
            sqlConn.Open();
            adapter.Fill(dtDrpDownListItems);
            drpDownMenu.DataSource = dtDrpDownListItems;
            drpDownMenu.DataTextField = "Number";
            drpDownMenu.DataBind();
        }
        catch (Exception ex)
        {
            //do something here
        }

        finally
        {
            sqlConn.Close();
        }          
        drpDownMenu.Items.Insert(0, new ListItem("<Select Device>", "0"));
    }


 protected void btnSave_Click(object sender, EventArgs e)
    {
        string test = "";
        test = drpDownMenu.SelectedItem.Text;
    }

在上面,PopulateDeviceDropDown效果很好......做了它想做的事。

以下btnSave_Click也被解雇了,但无论我做出什么选择,test变量始终会返回<Select Device> ...

我错过了一些明显的东西吗?它应该返回我选择的项目,但无论如何都返回菜单中的第一项。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

确保包含在页面加载

(!IsPostback)
{
   PopulateDeviceDropDown()

}

答案 1 :(得分:0)

不是100%肯定,但我会尝试删除

# output=`yum check-update`
This system is not registered with RHN Classic or RHN Satellite.
You can use rhn_register to register.
RHN Satellite or RHN Classic support will be disabled.
#

并将其替换为代码:

<asp:ListItem Text="<Select Device>" Value="0" />

HTH