添加模型列表

时间:2017-12-22 21:56:41

标签: c# asp.net-mvc

我有一份请求类型列表。使用For循环,我有来自vertaban的数据。我想将日期添加到详细信息中。

我写的代码中有错误。所有数据都列为相同。

public IHttpActionResult TalepListele(TalepList model)
{
    List<TalepList> detay = new List<TalepList>();
    using (var ctx = new ktdbEntities())
    {
        var query = ctx.talepListele(model.KullaniciId, 0, 10).ToList();
        var adet = query.Count;
        if (query.Count != 0)
        {
            for (var i = 0; i < adet; i++)
            {
                model.OlusturmaTarihi = query[i].olusturulmaTarihi;
                model.TalepDurumAdi = query[i].talepDurumuAdi;
                model.TalepDurumId = query[i].talepTuruID;
                model.TalepTuruAdi = query[i].talepTuruAdi;
                model.TalepTuruId = query[i].talepTuruID;
                model.talepID = query[i].talepID;
                detay.Add(model);
            }
            return Ok(detay);
        }
    }
    return Ok();
}

2 个答案:

答案 0 :(得分:1)

您多次将TalepList的同一个实例添加到detay

for (var i = 0; i < adet; i++)
{
  TalepList mdl = new TalepList();
  mdl.OlusturmaTarihi = query[i].olusturulmaTarihi;
  ...
  detay.Add(mdl);
}

答案 1 :(得分:0)

您可以尝试使用此代码,您应该了解参考类型和值类型不同之处。

 public IHttpActionResult TalepListele(TalepList model)
    {
        List<TalepList> detay = new List<TalepList>();
        using (var ctx = new ktdbEntities())
        {
            var query = ctx.talepListele(model.KullaniciId, 0, 10).ToList();
            var adet = query.Count;

                for (var i = 0; i < adet; i++)
                {
                TalepList talep = new TalepList();
                talep.OlusturmaTarihi = query[i].olusturulmaTarihi;
                talep.TalepDurumAdi = query[i].talepDurumuAdi;
                talep.TalepDurumId = query[i].talepTuruID;
                talep.TalepTuruAdi = query[i].talepTuruAdi;
                talep.TalepTuruId = query[i].talepTuruID;
                talep.talepID = query[i].talepID;
                    detay.Add(talep);
                }
                return Ok(detay);

        }
        return Ok();
    }