我想从控制器到视图获取数据,你能帮助我吗?


public JsonResult GetItemCode(string Code)
{
double Category = objFatchXEntities.ItemCardUAE.Single(s => s.Code == Code).Price;

return Json(Category, JsonRequestBehavior.AllowGet);
}

错误CS0266不能隐式转换类型'double?到"double"。存在显式转换(您是否缺少强制类型转换?)

这是因为您的查询返回double?你可以改变类别的类型,但最好使用var

var category = objFatchXEntities.....
return Json(category, JsonRequestBehavior.AllowGet);

但是检查null

总是更好的主意
var category = objFatchXEntities.ItemCardUAE.FirstOrDefault(s => s.Code == Code);
if (category == null || category.Price==null) return null;
return Json(category.Price, JsonRequestBehavior.AllowGet);

您声明了一个双精度变量,它需要一个双精度变量而不是一个可空的双精度变量。你可以得到double?的值这样你就有了像这样的匹配类型

double Category = objFatchXEntities.ItemCardUAE.Single(s => s.Code == Code).Price.Value;

但是这样做的问题是,如果price在任何点都为空,则会得到NullReference错误。你只需要检查Price是否有一个值就可以了

if (objFatchXEntities.ItemCardUAE.Single(s => s.Code == Code).Price.HasValue)
{
... do something 
} 

最新更新