尝试在现有的下拉列表中绑定数据库中的值

时间:2018-01-31 05:59:55

标签: c# asp.net ado.net

我正在尝试在现有的下拉列表中绑定数据库中的值。 下拉列表

<select class='form-control' id='P_Group'>
   <option value='HB'>HB</option>
   <option value='SPRING'>SPRING</option>
   <option value='PC'>PC</option>
</select>

像这样发送数据库

 var user = {};
user.P_GROUP = $("[id*=P_Group]").val();

现在想要在下拉列表中将保存在数据库中的值绑定到另一个

<select class='form-control' id='lblP_Groupn' runat="server">
   <option value='HB' runat="server">HB</option>
   <option value='SPRING' runat="server">SPRING</option>
   <option value='PC' runat="server">PC</option>
</select>

在阅读数据后如下所示

while (ReadData.Read())
   {lblP_Groupn.DataValueField= ReadData["p_group"].ToString();
}

但绑定时看不到保存在数据库中的默认值。它再次显示所有选项的下拉列表。我希望默认情况下可以看到保存的选项。再次,他可以选择其中的任何选项。任何想法将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该使用DataSourceDataTextFieldDataValueFieldDataBind()来填充HtmlSelect中的值。

或使用HtmlSelect.Items.Add()使用现有值向现有下拉列表添加值。

添加完项目后,再次使用Items查找值并选择标记。

将代码更改为

while (ReadData.Read())
{
     lblP_Groupn.Items.Add(new ListItem(ReadData["p_group"].ToString(), ReadData["p_group"].ToString()));
}

现在使用

var item = lblPGroupn.Items.FindByValue(SOMEVALUE);
if(item!=null)
{
    item.Selected=true;
}