我在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;
}
尝试使用SelectedValue
而不是Text
属性。
InsideDB = dr["Inside"].ToString();
Inside.Enabled = true;
if (!string.IsNullOrEmpty(InsideDB.ToString()))
{
Inside.SelectedValue = InsideDB.ToString();
Inside.Enabled = false;
}
尝试类似的东西
Inside.SelectedIndex = Inside.Items.IndexOf(Inside.Items.FindByText(InsideDB.ToString()));
而不是Inside.Text = InsideDB.ToString();
这假设您已经在下拉列表中有一个包含该文本的项目。
我知道这是老帖子。但这可能有助于其他人。
Inside.Items.FindByText(InsideDB.ToString()).Selected=true;
Inside.Enabled = false;