ASP.NET C# 如何 Select 通过从数据库检索的字符串动态地按文本列出项目
ASP.NET C# How to Select List Item by Text dynamically through string retrieved from database
我有一个字符串,它从数据集 ds
中获取值
string maritalStatus = ds.Tables[0].Rows[0]["maritalStatus"].toString();
现在我如何 select 动态地从文本值中列出项目。
<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;
但此代码无效。它所做的只是将 selected 列表项的文本即 "Single" 更改为来自数据库的文本。
您首先需要将可能的值映射到字典,因为此项的值是整数,如下所示:
Dictionary<string, int> statusMap = new Dictionary<string, int>(),
statusMap.Add("Single", 0);
statusMap.Add("Divorced", 1);
//And so on..
然后可以设置下拉框的SelectedValue:
ddlMaritalStatus.SelectedValue = statusMap[maritalStatus].ToString();
我有一个字符串,它从数据集 ds
中获取值string maritalStatus = ds.Tables[0].Rows[0]["maritalStatus"].toString();
现在我如何 select 动态地从文本值中列出项目。
<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;
但此代码无效。它所做的只是将 selected 列表项的文本即 "Single" 更改为来自数据库的文本。
您首先需要将可能的值映射到字典,因为此项的值是整数,如下所示:
Dictionary<string, int> statusMap = new Dictionary<string, int>(),
statusMap.Add("Single", 0);
statusMap.Add("Divorced", 1);
//And so on..
然后可以设置下拉框的SelectedValue:
ddlMaritalStatus.SelectedValue = statusMap[maritalStatus].ToString();