爲了嘗試構建3層架構的c#asp.net應用程序,我已經開始構建一個用於連接數據庫的數據庫類,另一個類是城市,其中有表格城市中的每列的方法,以及一個城市類,其中我有GetCities方法,創建一個City對象列表,然後使用DataSource嚮導設置控件使用來自GetCities()的數據。 我所得到的是空白在下拉列表中。任何想法爲什麼?從對象列表填充下拉列表
public List<City> GetCities()
{
List<City> cities = new List<City>();
Database db = new Database();
SqlConnection conn = db.GetConnection();
String sql = "SELECT * FROM CITIES";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
City c = new City(reader.GetInt32(0), reader.GetString(1).ToString());
cities.Add(c);
}
db.CloseConnection();
return cities;
}
感謝
問題出在你還沒有分享的代碼中!你如何填充列表? ** WIZARD生成的代碼是什麼?** – Aliostad 2010-12-20 13:33:48
填寫列表的代碼看起來很好。問題必須是你如何綁定到下拉列表(也許你可以發佈)?我知道你說過你使用了一個嚮導,這將是我看到它在做什麼的第一個地方。此外,您正在關閉數據庫連接,但如果有異常,它將不會關閉。可以使用try/finally,或者在您對ExecuteReader的調用中指示關閉閱讀器時連接將關閉,併爲您的閱讀器使用using()語句。 – 2010-12-20 13:36:13
我正在討論的嚮導在點擊DropDownList上的「選擇數據源」時被訪問,並彈出一個提示我輸入數據源的窗口。我選擇新的數據源,然後彈出另一個窗口,我從包含「訪問數據庫,SQL數據庫,實體」的列表中選擇了對象等。之後,另一個窗口彈出提示選擇對象,在我的情況下是城市。下一步>選擇一種方法,在我的情況下是GetCities()。 – user228137 2010-12-20 14:07:44