DropDownList.SelectedItem.Text 始终是 DropDownList C# 中的第一项
Posted
技术标签:
【中文标题】DropDownList.SelectedItem.Text 始终是 DropDownList C# 中的第一项【英文标题】:DropDownList.SelectedItem.Text always is the first item in the DropDownList C# 【发布时间】:2020-02-18 03:49:01 【问题描述】:我做了一个级联下拉列表。
这是第一个ddl:
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack ="true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Text="-- Select One --"></asp:ListItem>
<asp:ListItem Text="Game"></asp:ListItem>
<asp:ListItem Text="Book"></asp:ListItem>
第二个 ddl 项目是根据 ddl1 (OnSelectedIndexChanged) 中选择的项目添加的
根据 ddl2 (OnSelectedIndexChanged) 中选择的项目添加第三个 dll 项目
我有一个问题,当我使用 DropDownList3.SelectedItem.Text 时,它总是返回第一个项目(基于每个选择的 CSGO 或 Dota),ddl1 和 ddl2 对我来说很好。
这里是 ddl2 函数:
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
DropDownList3.Visible = true;
if (DropDownList2.SelectedValue == "A")
DropDownList3.Items.Clear();
DropDownList3.Items.Insert(0, new ListItem("-Select-", "N"));
DropDownList3.Items.Insert(1, new ListItem("CSGO", ""));
DropDownList3.Items.Insert(2, new ListItem("CSO", ""));
DropDownList3.Items[0].Attributes["disabled"] = "disabled";
else if (DropDownList2.SelectedValue == "B")
DropDownList3.Items.Clear();
DropDownList3.Items.Insert(0, new ListItem("-Select-", "N"));
DropDownList3.Items.Insert(1, new ListItem("Dota", ""));
DropDownList3.Items.Insert(2, new ListItem("LoL", ""));
【问题讨论】:
【参考方案1】:我怀疑您的问题是因为您禁用了第一项,所以它变得不可选择。
尝试不使用此行,看看您的结果是否不同。
DropDownList3.Items[0].Attributes["disabled"] = "disabled";
【讨论】:
我删除它但还是一样,我可以选择里面的任何项目,但问题是当我点击提交按钮将数据提交到数据库时,数据总是第一项【参考方案2】:我通过使用 selecteditem.value 成功完成了它,我为它赋值并让它工作,我想知道为什么 selecteditem.text 不起作用。
【讨论】:
以上是关于DropDownList.SelectedItem.Text 始终是 DropDownList C# 中的第一项的主要内容,如果未能解决你的问题,请参考以下文章