簡體   English   中英

回購方法未將數據返回到控制器(ASP.NET)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM