我在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;
}
答案 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;