相关疑难解决方法(0)

具有键"XXX"的ViewData项的类型为"System.Int32",但必须是"IEnumerable <SelectListItem>"类型

我有以下视图模型

public class ProjectVM
{
    ....
    [Display(Name = "Category")]
    [Required(ErrorMessage = "Please select a category")]
    public int CategoryID { get; set; }
    public IEnumerable<SelectListItem> CategoryList { get; set; }
    ....
}
Run Code Online (Sandbox Code Playgroud)

和以下控制器方法创建一个新项目并分配一个 Category

public ActionResult Create()
{
    ProjectVM model = new ProjectVM
    {
        CategoryList = new SelectList(db.Categories, "ID", "Name")
    }
    return View(model);
}

public ActionResult Create(ProjectVM model)
{
    if (!ModelState.IsValid)
    {
        return View(model);
    }
    // Save and redirect
}
Run Code Online (Sandbox Code Playgroud)

并在视图中

@model ProjectVM
....
@using (Html.BeginForm())
{
    ....
    @Html.LabelFor(m => m.CategoryID) …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc

99
推荐指数
2
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

c# ×1