首先这是我上班以来遇到的第一个我可以解决的BUG,有幸在此分享一下(内心也是无比的有成就感的)
先来看一下我的BUG

MVC5 视图页顶头代码片段
@{
Layout = null;
}
@model Demo.Models.HomeModels.Students
<!DOCTYPE html>
控制器代码片段
/// <summary>
/// 编辑
/// </summary>
/// <param name="id">根据id</param>
/// <returns></returns>
public ActionResult EditInfo(int id)
{
var student = model.Student.FirstOrDefault(x => x.Id == id);
var studentmodel = ObjectMapperManager.DefaultInstance.GetMapper<Student, Students>().Map(student);
return View(studentmodel);
}
[HttpPost]
public JsonResult EditInfo(StudentModel studentmodel)
{
var entity = ObjectMapperManager.DefaultInstance.GetMapper<StudentModel, Student>().Map(studentmodel);
entity.Createtime = DateTime.Now;
model.Entry(entity).State = EntityState.Modified;
model.SaveChanges();
return Json("修改成功");
}
因为,我使用的是CodFirst实体数据模型,可能有的同学和我的问题不太一样,如果有耐心看完呢一定会给你一个惊喜
第一种:和控制器相关,
解决思路:所以就要找一下是不是控制器参数的类型是不是和View里的相同,如果不同的话就会报此类错误
第二种:如果你在控制器里面写了数据,那么,view里面就不要写数据了,
解决方案:就是把返回的view视图里面的数据去掉,直接return view();
第三种:传入字典的模型项的类型为“System.Boolean”,但此字典需要类型“InternalCRM.EntityIACrm.Template”的模型项。
解决思路:解决办法是修改传入的参数,原来return View("Index",(new EmailTempMgr().Update(Temp))); ,new EmailTempMgr().Update(Temp) 返回的是bool,与事实不符,此处应该传的是类型
希望对大家有所帮助!!

本文分享了一个在MVC5框架中遇到并解决的BUG经验,涉及视图与控制器间的数据传递问题,通过调整参数类型及数据处理方式,成功解决了编辑功能的实现难题。

被折叠的 条评论
为什么被折叠?



