ASP.NET C# 如何通过从数据库中检索的字符串按文本动态选择列表项

本文关键字:文本 字符串 动态 选择 列表 检索 NET 何通过 数据库 ASP | 更新日期: 2023-09-27 18:36:51

我有一个从数据集 ds 中获取值的字符串

string maritalStatus = ds.Tables[0].Rows[0]["maritalStatus"].toString();

现在,我如何从文本值中动态选择该列表项。

<asp:DropDownList ID="ddlMaritalStatus" runat="server"
OnSelectedIndexChanged="ddlMaritalStatus_SelectedIndexChanged">
<asp:ListItem Text="Single" Value="0"></asp:ListItem>
<asp:ListItem Text="Divorced" Value="1"></asp:ListItem>
<asp:ListItem Text="Separated" Value="2"></asp:ListItem>
<asp:ListItem Text="Widowed" Value="3"></asp:ListItem>

我也必须为许多其他下拉列表执行此操作。并且有些的值不是按顺序排列的。我试过了

ddlMaritalStatus.SelectedItem.Text = maritalStatus;

但是此代码不起作用。它所做的只是将所选列表项的文本(即"单个")更改为来自数据库的文本。

ASP.NET C# 如何通过从数据库中检索的字符串按文本动态选择列表项

您首先需要将可能的值映射到字典,因为此项的值是整数,如下所示:

Dictionary<string, int> statusMap = new Dictionary<string, int>(),
statusMap.Add("Single", 0);
statusMap.Add("Divorced", 1);
//And so on..

然后你可以设置下拉列表的选定值:

ddlMaritalStatus.SelectedValue = statusMap[maritalStatus].ToString();