我将DropDownList与数据绑定,并根据值选择选项。
如果我选择带有Value的DropDownList,则一切正常。这意味着如果我执行selectedValue,那么它将在前端显示选择内容,并且还会在HTML中显示“ selected = selected”。但是,如果我使用SelectedItem.Text,那么它只会在前端显示选择内容,而HTML不会标记HTML中的slected = selected。
我希望HTML在HTML中标记“ selected = selected”,以便可以在代码中使用selected值。
请在下面查看我的代码,其中包含选定的值,并且该代码可以正常运行:
DepartmentList.DataTextField = "Title";
DepartmentList.DataValueField = "Id";
DepartmentList.SelectedValue = DepartmentID;
DepartmentList.DataSource = resultLoc.OrderBy(item => item.Title);
DepartmentList.DataBind();
请查看屏幕截图:
请在下面查看带有所选名称的代码,它不能正常工作,因为它在下拉列表中显示了所选的名称,但没有在HTML中标记为selcted = selcted。
请在下面查看带有所选名称的我的代码,该代码不起作用:
DepartmentList.DataTextField = "Title";
DepartmentList.DataValueField = "Id";
DepartmentList.SelectedItem.Text = DepartmentName; // Finance
DepartmentList.DataSource = resultLoc.OrderBy(item => item.Title);
DepartmentList.DataBind();
请查看屏幕截图:
答案 0 :(得分:1)
作为新成员,没有意见的声誉,因此尝试通过SO进行上述评论中提到的一些研究来提供帮助,并找到了这个答案。请尝试这个-
DepartmentList.Items.FindByText(DepartmentName).Selected = true;
How can you set the selected item in an ASP.NET dropdown via the display text?
how to select with DropDownList.text
以及此处的“文本和值”属性的说明。
答案 1 :(得分:0)
这是您想要做的:
DepartmentList.SelectedValue = DepartmentList.Items.FindByText(DepartmentName).Value;
有关更多详细信息,请参见this nearly identical question。