Tôi đang sử dụng MVC. Tôi muốn chuyển dữ liệu danh mục mà tôi đã nhập từ chế độ xem của mình và được chuyển tới Bài đăng/Bộ tạo đối tượng của tôi, nhưng nó không cho phép tôi chuyển loại categoryTypeID mà tôi đã chọn từ danh sách thả xuống của mình.DataBinding: 'System.Web.Mvc.SelectListItem' không chứa thuộc tính có tên 'CategoryTypeID'
Dưới đây là lỗi:
DataBinding: 'System.Web.Mvc.SelectListItem' không chứa một tài sản với tên 'CategoryTypeID'.
Đây là mã của tôi:
My CreateController:
//
// POST: /Category/Create
[HttpPost]
public ActionResult Create(Category category)
{
if (ModelState.IsValid)
{
db.Categories.Add(category);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.CategoryTypes = new SelectList(db.CategoryTypes, "CategoryTypeID", "Name", category.CategoryTypeID);
return View(category);
}
My Create View
@model Haykal.Models.Category
<div class="editor-label">
@Html.LabelFor(model => model.CategoryTypeID, "CategoryType")
</div>
<div class="editor-field">
@Html.DropDownListFor(model => model.CategoryTypeID,
new SelectList(ViewBag.CategoryTypes as System.Collections.IEnumerable, "CategoryTypeID", "Name"),
"--select Category Type --", new { id = "categoryType" })
@Html.ValidationMessageFor(model => model.CategoryTypeID)
</div>
+ 1. Thật vậy, tôi đã định nghĩa SelectList hai lần. Lời giải thích của bạn hoàn toàn giải quyết được vấn đề của tôi. Bây giờ, tại sao thông báo lỗi không thực sự nói điều đó? Tôi đã có lỗi tương tự: DataBinding: 'System.Web.Mvc.SelectListItem' không chứa thuộc tính có tên 'Id'. Các thông báo lỗi là một số loại gây hiểu lầm, bạn không nghĩ? – AuroMetal