代码之家  ›  专栏  ›  技术社区  ›  Antonio Mailtraq

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

  •  1
  • Antonio Mailtraq  · 技术社区  · 9 年前

    我在ASP.NET4.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中,它选择了数据库中设置的值并禁用DropDown列表。

    我已经在 .cs文件 页面失败。

    有人知道我该怎么做吗?

    代码隐藏

    InsideDB = dr["Inside"].ToString();
    if (!string.IsNullOrEmpty(InsideDB.ToString()))
    {
      Inside.Text = InsideDB.ToString();
      Inside.Enabled = false;
    }
    else
    {
      Inside.Enabled = true;
    }
    
    3 回复  |  直到 5 年前
        1
  •  2
  •   KV Prajapati    9 年前

    尝试 SelectedValue 而不是 Text 所有物

    InsideDB = dr["Inside"].ToString();
    Inside.Enabled = true;
    if (!string.IsNullOrEmpty(InsideDB.ToString()))
    {
      Inside.SelectedValue = InsideDB.ToString();
      Inside.Enabled = false;
    }
    
        2
  •  0
  •   Adrian Buzea    9 年前

    尝试类似的操作

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

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

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

        3
  •  0
  •   Manusha    5 年前

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

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