如何从foreach循环中检索所有值c# ?



我正在开发一个基于JavaScript日历的系统来显示。net Core中的事件日期,我遇到的问题是通过foreach循环迭代,最后一个值是唯一显示在我的日历上的值,控制器代码如下:

public IActionResult Calendar()
{
var dateList = _context.Tasks.Select(x => x.DateAllTaskCompleted != null ? x.DateAllTaskCompleted.Value.ToString("yyyy-MM-dd") : null).ToList();
var jsonDate="";
foreach (var item in dateList)
{
if (item != null)
{
// TODO: Display all dates
jsonDate = JsonSerializer.Serialize(item);
}
}
ViewData["Date"] = jsonDate;
return View();
}

我能做什么解决方案或调整?

您的代码不能工作,因为您在每个循环迭代中重写jsonDate。如果希望检索所有日期,则需要声明,例如,将jsonDates声明为list,然后在每次迭代中将其追加到list中。像这样:

public IActionResult Calendar()
{
var dateList = _context.Tasks.Select(x => x.DateAllTaskCompleted != null ? x.DateAllTaskCompleted.Value.ToString("yyyy-MM-dd") : null).ToList();
List<string> jsonDates = new List<string>();
foreach (var item in dateList)
{
if (item != null)
{
// TODO: Display all dates
jsonDates.Add(JsonSerializer.Serialize(item));
}
}
ViewData["Date"] = jsonDates;
return View();
}

最新更新