下拉列表添加列表项

时间:2013-04-13 00:02:01

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

我已将本地数据库中的一些数据添加到List中,现在我需要在下拉列表中显示此List所具有的值。该列表包含以下数据:

  • 爪哇
  • 达网络
  • 的JavaScript
  • 红宝石
  • 的Python

方法:

public List<string> DisplayTopicNames()
{


    // declare the connection string 
    string database = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|/Forum.accdb;Persist Security Info=True";

    // Initialise the connection 
    OleDbConnection myConn = new OleDbConnection(database);
    //Query
    string queryStr = "SELECT TopicName FROM Topics";
    // Create a command object 
    OleDbCommand myCommand = new OleDbCommand(queryStr, myConn);
    // Open the connection 
    myCommand.Connection.Open();
    // Execute the command 
    OleDbDataReader myDataReader = myCommand.ExecuteReader();


    // Extract the results 
   List<string> topicNames = new List<string>();

    while (myDataReader.Read())
    {
        topicNames.Add(myDataReader.GetValue(0).ToString());
    }

    // close the connection 
    myCommand.Connection.Close();
    return topicNames;
}

}

当我自己返回上面的方法时它工作正常并且所有值都在那里但是当我使用下面的代码将此List添加到下拉列表时它只显示“j”“a”“v”“a”这很奇怪。

DropDownList1.DataSource = dt.DisplayTopicNames(); 
DropDownList1.DataBind();

1 个答案:

答案 0 :(得分:2)

而不是:

topicNames.Add(myDataReader.GetValue(0).ToString());

试试这个:

topicNames.Add(myDataReader["TopicName"].ToString());