没有类型为'IEnumerable'它的键是'IdJournal
本文关键字:IdJournal IEnumerable 类型 SelectListItem | 更新日期: 2023-09-27 17:54:20
我在Stack Overflow上找到了关于这个问题的多个帖子,但没有一个答案可以解决我的问题。
我有一个视图下拉列表,显示从表的日志项目标签在数据库:日志:id,标签下面是视图的代码:
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { @enctype = "multipart/form-data" }))
{
<input style="margin-left:40px;cursor:pointer;" type="file" name="file" id="upload"/>
<input type="text" name="journal" value="test"/>
<input type="submit" style="margin-left:40px;cursor:pointer;" id="load" value="Upload"/>
@Html.DropDownList("IdJournal")
}
控制器是:
[HttpPost]
public ActionResult Index(HttpPostedFileBase file, string journal, long IdJournal)
{
ScanITAPP.Service.ImageRender service = new Service.ImageRender();
service.UploadImageToDB(file, journal, IdJournal);
return View();
}
public ActionResult Form()
{
return PartialView("Form");
}
//DropdownList
public ActionResult Index()
{
var db = new Bd_scanitEntities();
IEnumerable<SelectListItem> items = db.JournalSet
.Select(c => new SelectListItem
{
Value = c.Id.ToString(),
Text = c.label
});
ViewBag.IdJournal = items;
//ViewData["IdJournal"] = items;
return View();
}
代码是用于上传和图像,并将其关联到一个"日志",执行代码后,我得到图像与Journal_id在我的数据表,但它抛出了一个错误:没有类型的"IEnumerable"的ViewData项目有键"Id"。我不知道是什么问题,请帮帮我。
我通过编辑控制器方法解决了这个问题
[HttpPost]
public ActionResult Index(HttpPostedFileBase file, string journal, long IdJournal)
{
var db = new Bd_scanitEntities();
IEnumerable<SelectListItem> items = db.JournalSet
.Select(c => new SelectListItem
{
Value = c.Id.ToString(),
Text = c.label
});
ViewBag.IdJournal = items;
ScanITAPP.Service.ImageRender service = new Service.ImageRender();
service.UploadImageToDB(file, journal, IdJournal);
return View();
}