将真/假数据类型值显示到下拉列表

时间:2013-06-19 07:39:03

标签: c# asp.net drop-down-menu

我喜欢显示存储为True / False数据类型的数据库的值。 我想将此数据呈现给下拉列表。

因此,当数据库中的值为“true”时,我想在下拉列表中将其显示为“是”。 如果数据库中的值为“false”,我希望在下拉列表中显示为“否”。

DataSet ds = getDetails(username);

if (ds.Tables.Count > 0) {
    TextBox1.Text = ds.Tables[0].Rows[0]["fName"].ToString();
    TextBox2.Text = ds.Tables[0].Rows[0]["lName"].ToString();
    TextBox3.Text = ds.Tables[0].Rows[0]["username"].ToString();
    TextBox2.Text = ds.Tables[0].Rows[0]["password"].ToString();

    if (Convert.ToInt32(ds.Tables[0].Rows[0]["admin"]) == 0) {
        DropDownList1.SelectedValue = "Yes";

    }
}

我试过的是,我在下拉列表中添加两个项目,一个“是”,值为“是”,另一个“否”,值为“否”。

在上面的代码中,我将true / false转换为int类型并将其与另一个int进行比较。 由于数据库存储了true = 0和false = -1,因此我在代码中将其与下拉列表中的“是”或“否”进行比较。

但它不起作用。 有没有人能够轻松解决这个问题?

2 个答案:

答案 0 :(得分:1)

您的下拉列表应包含2个项目。

  • 一个值"-1",表示错误。
  • 一个值"0",表示真实。

Note: the standard value are 0 for false and 1 for true, you might want to use those eventually

您当然可以将其文本设置为“true”/“false”或其他任何内容。

然后,您只需将SelectedValue设置为列的实际值。

DropDownList1.SelectedValue = ds.Tables[0].Rows[0]["admin"].ToString();

答案 1 :(得分:1)

您是否错过了else条款?

if (Convert.ToInt32(ds.Tables[0].Rows[0]["admin"]) == 0) {
    DropDownList1.SelectedValue = "Yes";
} else {
    DropDownList1.SelectedValue = "No";
}