我收到错误
错误826无法将类型'System.Collections.Generic.IEnumerable'隐式转换为'OVR.Models.ChildInfoModel'。存在显式转换(您是否缺少转换?)C:\ dev ..... \ Controllers \ NewRecordController.cs 129 34 OVR
public ActionResult ChildInfo(ChildInfoModel childInfoModel)
{
//INewRecord newRecord = (INewRecord)TempData["newRecord"];
if (TempData["CertNum"].ToString() == "")
{
return View();
}
else
{
string certNum = (string)TempData["CertNum"];
//call up Child Info Screen
var repo = new Get_Home_Repository();
childInfoModel = repo.Get_Screen_DataDS(certNum, "ChildInfo");
//childInfoModel = cModel;
return View(childInfoModel);
}
}
答案 0 :(得分:1)
什么是Get_Screen_DataDS返回?什么方法签名返回?看来你正在从Get_Screen_DS返回IEnumerable - 这是一个IEnumerable是什么? 您正在分配一个childInfoModel的实例,我假设它不是IEnumerable,但我无法确定您发布的内容。
你应该返回IEnumerable吗?如果ChildInfoModel实现IEnumerable,那么只需简单地投射它
childInfoModel =(ChildInfoModel)repo.Get_Screen_DataDS(certNum,“ChildInfo”); 但是在这种情况下,你应该只是帽子Get_Screen_DataDS返回类型ChildInfoModel。
此外,它将长期帮助您坚持一致和标准的.net命名约定。
var repo将是var repository。 GetScreenDataDS将是.... GetScreenData()或GetScreenDataByCert() FxCop规则可以帮助您:)只是我的额外.00000002