Asp.net mvc 传入字典的模型项的类型为';System.Data.Objects.ObjectQuery`1
我试图让mvc应用程序中的控制器在用户单击编辑按钮后编辑数据模型中的特定实体,但我似乎无法使其工作。我一直在犯这个错误 传递到字典中的模型项的类型为“System.Data.Objects.ObjectQuery`1[MVCAPApplication1.Models.New]”,但此字典需要类型为“MVCAPApplication1.Models.New”的模型项 我做错了什么。是因为强类型视图吗 这是我的控制器:Asp.net mvc 传入字典的模型项的类型为';System.Data.Objects.ObjectQuery`1,asp.net-mvc,Asp.net Mvc,我试图让mvc应用程序中的控制器在用户单击编辑按钮后编辑数据模型中的特定实体,但我似乎无法使其工作。我一直在犯这个错误 传递到字典中的模型项的类型为“System.Data.Objects.ObjectQuery`1[MVCAPApplication1.Models.New]”,但此字典需要类型为“MVCAPApplication1.Models.New”的模型项 我做错了什么。是因为强类型视图吗 这是我的控制器: public ActionResult Edit(int id)
public ActionResult Edit(int id)
{
var productToEdit = from s in _entities.NewSet // return the story matching the clicked id
where s.storyId == id
select s;
return View(productToEdit);
}
// POST : Edit
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Edit(New productToEdit)
{
try
{
var originalNews = (from s in _entities.NewSet
where s.storyId == productToEdit.storyId
select s).FirstOrDefault();
_entities.ApplyPropertyChanges(originalNews.EntityKey.EntitySetName, productToEdit);
_entities.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
谁能给我点建议吗。我对这一切还是新手。将带有Int参数的编辑操作更改为:
public ActionResult Edit(int id)
{
var productToEdit = from s in _entities.NewSet
where s.storyId == id
select s;
return View(productToEdit.FirstOrDefault());
}
将带有Int参数的编辑操作更改为如下所示:
public ActionResult Edit(int id)
{
var productToEdit = from s in _entities.NewSet
where s.storyId == id
select s;
return View(productToEdit.FirstOrDefault());
}
@mkkk-请点击此答案旁边的勾选按钮,将此作为正确答案。此外,如果您查询的是唯一字段,则应为
SingleOrDefault()
@mkkk-请单击此答案旁边的勾选按钮,将此作为正确答案。此外,如果您在唯一字段上进行查询,则应为SingleOrDefault()
。