我有一个aspx页面,允许我编辑文章。我可以编辑的内容是文章所属的类别。该类别通过DropDownList选择,如此处所示,
<%= Html.DropDownList("categoryID", (IEnumerable<SelectListItem>)ViewData["CategoryID"], new { @class = "textbox" }) %>
但是,当我转到该页面时,未选择文章类别。我用于DropDownList的ViewData看起来像这样,
ViewData["CategoryID"] = new SelectList(categories, "CategoryID", "Title", article.CategoryID);
哪个应该选择article.CategoryID作为它的选定值。 我做错了吗?
答案 0 :(得分:1)
您要将ViewData
属性分配为SelectList
,但将其转换为IEnumerable<SelectListItem>
- 请尝试直接键入SelectList
:
<%= Html.DropDownList("categoryId", (SelectList)ViewData["CategoryID"], new { @class = "textbox" }) %>
答案 1 :(得分:0)
我能建议的最好的是你确保你的“类别”类有一个名为“CategoryID”的属性,而不仅仅是“ID”。从你给我们的内容来看,这是我对这个问题的最佳猜测。
如果它只是“ID”,那么你的功能将需要:
ViewData["CategoryID"] = new SelectList(categories, "ID", "Title", article.CategoryID);