2010-01-30 61 views
2

我有一個允許我編輯文章的aspx頁面。我可以編輯的東西是文章屬於哪個類別。該類別是通過DropDownList來選擇的,如下所示,ASP.NET MVC的DropDownList問題不顯示選定的值

<%= Html.DropDownList("categoryID", (IEnumerable<SelectListItem>)ViewData["CategoryID"], new { @class = "textbox" }) %> 

但是,當我轉到該頁面時未選擇文章類別。用於DropDownList的ViewData看起來像這樣,

ViewData["CategoryID"] = new SelectList(categories, "CategoryID", "Title", article.CategoryID); 

哪個應該選擇article.CategoryID作爲它的選定值。 我做錯了嗎?

回答

1

你分配ViewData屬性SelectList,但它鑄造IEnumerable<SelectListItem> - 儘量直接輸入到SelectList代替:

<%= Html.DropDownList("categoryId", (SelectList)ViewData["CategoryID"], new { @class = "textbox" }) %> 
+0

沒有,這個沒有什麼區別。在編輯文章.aspx時,下拉列表仍然沒有顯示文章的正確類別。 – Jova 2010-02-01 21:53:43

0

我建議最好是您確保「類別」類有一個屬性稱爲「CategoryID」,不僅僅是「ID」。從你給我們的這個問題來看,我可以做出最好的猜測。

如果它僅僅是「ID」,那麼你的功能將需要去:

ViewData["CategoryID"] = new SelectList(categories, "ID", "Title", article.CategoryID);