Я сделал это миллион раз и понятия не имею, что мне здесь не хватает ... Единственное различие заключается в том, что я не жестко кодирую в выпадающих значениях меню, я динамически добавляю их через запрос. Я вывешу то, что я ниже ...SelectedItem выпадающего меню C#
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>
независимо от того, что выбор я делаю ...
Я пропускаю что-то очевидное здесь? Он должен вернуть элемент, который я выбрал, но возвращает первый элемент в меню независимо.
Любой совет?
нажатием кнопки вы получаете оценку e из drpDownLoadNewDevice, как вы добавляете элементы в drpDownMenu, вы уверены, что это должно быть? – Angloos
вам также не хватает настроек DataValuefield(). Set drpDownMenu.DataValueField – Angloos