WebApplication.Models.Category 而不是值

WebApplication.Models.Category instead of value

我想在我的 Insert 视图中添加一个 DropDownList

控制器:

public ActionResult Create()
{
    ViewBag.CategoryList = new SelectList(Category.GetCategories());
    return View("Insert", new Category()); 
}

查看:

    @Html.DropDownListFor(model => model.Category, (IEnumerable<SelectListItem>) 
   (ViewBag.CategoryList), "Select Category", htmlAttributes: new { @class = "form-control" })

Category class 只有一个 string 字段名为 Title。我得到的不是 Title 的值,而是 WebApplication.Models.Category.

检查 Title 是否定义为 属性 而不是数据绑定工作正常的字段。

然后尝试以下操作:

public ActionResult Create()
{
    ViewBag.CategoryList = Category.GetCategories();
    return View("Insert", new Product()); 
}

并且在 Insert 视图中:

@using WebApplication1.Models @* Category namespace *@
@model WebApplication1.Models.Product

@{   
    IEnumerable<Category> categories = (IEnumerable<Category>)ViewBag.CategoryList;
}

@Html.DropDownListFor(m => categories.GetEnumerator().Current,
          categories.Select(d =>
          {
              return new SelectListItem() { Text = d.Title, Value = d.Title };
          }),
          "Select Category", new { @class = "form-control" })