[英]Repo method not returning data to controller (ASP.NET)
我有回购方法从数据库获取数据
这是回购方法
public List<PatientMasterDataViewModel> GetPatientData(string name)
{
using (var ctx = new ApplicationDbContext())
{
List<PatientMasterDataViewModel> patientdata = new List<PatientMasterDataViewModel>();
var items = ctx.Patients.Where(x => x.Name.Contains(name)).ToList();
for (int i = 1; i < items.Count; i++)
{
patientdata.Add(new PatientMasterDataViewModel
{
Id = items[i].Id,
Name = items[i].Name,
Birthday = items[i].Date_of_Birthday
});
}
return patientdata;
}
}
之后,我需要在控制器方法中获取此数据
这是控制器方法
public JsonResult PatientMasterDataInfo(string name)
{
var masterdatainfo = _repository.GetPatientData(name);
return Json(masterdatainfo.ToArray(), JsonRequestBehavior.AllowGet);
}
在回购的items
我有数据
这是屏幕
但是由于某些原因,它没有添加到患者数据中,导致控制器我为空。
我的麻烦在哪里?
您的循环从1开始。请从0索引开始。
public List<PatientMasterDataViewModel> GetPatientData(string name)
{
using (var ctx = new ApplicationDbContext())
{
List<PatientMasterDataViewModel> patientdata = new List<PatientMasterDataViewModel>();
var items = ctx.Patients.Where(x => x.Name.Contains(name)).ToList();
for (int i = 0; i < items.Count; i++)
{
patientdata.Add(new PatientMasterDataViewModel
{
Id = items[i].Id,
Name = items[i].Name,
Birthday = items[i].Date_of_Birthday
});
}
return patientdata;
}
}
根据您的代码,它不应该为null
,但是我在您的代码中看到一个问题,这是您的循环是从1到0的字符串,因此将其更改为:
for (int i = 0; i < items.Count; i++)
{
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.