Нет элемента viewdata типа 'ienumerable<selectlistitem>', который имеет ключ 'categoryid'. ? ? ?
Я работаю над коммерческим проектом для продажи продукта в Интернете я хочу сначала создать новый проект и Iam используя код и установить связь между продуктом и категорией
и когда вы пытаетесь создать новый продукт это сообщение отображается мне
(
There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'Categoryid') but I noticed something more mysterious Although error shown to me but when I open list of product new product is saved after I Close error message and in this project I try to make photo to each product and when I clear and delete upload and photo the error Solved So I want to upload photo to each product without this ERROR What I have tried: my Action Result <pre> public ActionResult Create() { var CategoryList = dbcontext.category.ToList(); List<SelectListItem> CList = new List<SelectListItem>(); foreach (var item in CategoryList) { CList.Add(new SelectListItem { Text = item.CategoryName, Value = item.CategoryID.ToString() }); } ViewBag.Categoryid = CList; return View(); }
[HttpPost] public ActionResult Create(Product product, HttpPostedFileBase file) { try { // TODO: Add insert logic here product.Image = file.FileName; dbcontext.product.Add(product); dbcontext.SaveChanges(); file.SaveAs(Server.MapPath("/Upload" + file.FileName)); return RedirectToAction("Index"); } catch { return View(); } }
мой взгляд
@using (Html.BeginForm("Create","Products",FormMethod.Post,new {enctype="multipart/form-data" }))
@Html.DropDownList("Categoryid",(IEnumerable<SelectListItem>)ViewBag.Categoryid, htmlAttributes: new { @class = "form-control" })
F-ES Sitecore
Не имеет отношения к вашему вопросу, но не используйте сначала код, сначала используйте базу данных. Первый код только вызовет у вас проблемы в долгосрочной перспективе.