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

问题描述 投票:1回答:3

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

我有一个表单页面.aspx与此DropDownList(内部是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>

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

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

谁知道我怎么能这样做?

代码隐藏

InsideDB = dr["Inside"].ToString();
if (!string.IsNullOrEmpty(InsideDB.ToString()))
{
  Inside.Text = InsideDB.ToString();
  Inside.Enabled = false;
}
else
{
  Inside.Enabled = true;
}
c# asp.net
3个回答
2
投票

尝试使用SelectedValue而不是Text属性。

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

0
投票

尝试类似的东西

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

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

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


0
投票

我知道这是老帖子。但这可能有助于其他人。

Inside.Items.FindByText(InsideDB.ToString()).Selected=true;
Inside.Enabled = false;
© www.soinside.com 2019 - 2024. All rights reserved.