DropDownList(不是GridView)中数据库的选定值

时间:2015-07-23 10:02:58

标签: c# asp.net

我在ASP NET 4.0和C-sharp工作。

我有一个表单页面 .aspx 与此DropDownList( Inside是ID )并保存值 S N 在数据库中的匹配字段中:

<asp:DropDownList ID="Inside" runat="server" Width="100" CssClass="ddl_Class">
  <asp:ListItem Text="-------" Value=""></asp:ListItem>
  <asp:ListItem Text="S" Value="S"></asp:ListItem>
  <asp:ListItem Text="N" Value="N"></asp:ListItem>
</asp:DropDownList>

我需要在数据库中字段 Inside 的值有效且不为null时,在DropDownList中选择数据库中设置的值并禁用DropDownList。

我在 .cs 页面中尝试过此代码但未成功。

有人知道我该怎么办?

代码隐藏

InsideDB = dr["Inside"].ToString();
if (!string.IsNullOrEmpty(InsideDB.ToString()))
{
  Inside.Text = InsideDB.ToString();
  Inside.Enabled = false;
}
else
{
  Inside.Enabled = true;
}

3 个答案:

答案 0 :(得分:2)

尝试使用SelectedValue代替Text属性。

InsideDB = dr["Inside"].ToString();
Inside.Enabled = true;
if (!string.IsNullOrEmpty(InsideDB.ToString()))
{
  Inside.SelectedValue = InsideDB.ToString();
  Inside.Enabled = false;
}

答案 1 :(得分:0)

尝试类似

的内容
Inside.SelectedIndex = Inside.Items.IndexOf(Inside.Items.FindByText(InsideDB.ToString()));

而不是Inside.Text = InsideDB.ToString();

这假设您已经在下拉列表中有一个包含该文本的项目。

答案 2 :(得分:0)

我知道这是旧帖子。但这可能会帮助其他人。

Inside.Items.FindByText(InsideDB.ToString()).Selected=true;
Inside.Enabled = false;