2016-03-01 3 views
0

У меня есть строка, которая принимает значение из набора данных DSASP.NET C# Как выбрать элемент списка, текст динамически через строку, полученную из базы данных

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; 

но этот код не работает. Все это позволяет изменить текст только выбранного элемента списка i.e «Single» для текста, поступающего из базы данных.

ответ

1

Сначала необходимо сопоставить возможные значения словаря как значение этих пунктов являются целыми числами, что-то вроде этого:

Dictionary<string, int> statusMap = new Dictionary<string, int>(), 

statusMap.Add("Single", 0); 
statusMap.Add("Divorced", 1); 
//And so on.. 

Затем вы можете установить SelectedValue в DropDown:

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

Для некоторых dropdownlist у меня есть 50 -52 элементов списка. Поэтому я должен сделать словарь для них. :(Есть ли другой способ? –

+1

Если вы установите значение listitems так же, как текст базы данных, тогда вы можете назначить его напрямую. – Gusman

+0

Спасибо @Gusman, но значения довольно перепутаны, а не в серийном. выберите элемент списка, просто используя текст. –

 Смежные вопросы

  • Нет связанных вопросов^_^