gpt4 book ai didi

c# - asp.net 右标签下的右月

转载 作者:太空宇宙 更新时间:2023-11-03 21:18:58 24 4
gpt4 key购买 nike

这是我现在的代码/ View 。

<form class="form-horizontal">
<div class="portlet-body form">
<div class="form-group">
@foreach (var date in ViewBag.MissingDays)
{
var isoDate = date.ToString("yyMMdd");
<div class="col-md-2">
<input type="checkbox" id="isoDate" name="isoDate" value="@isoDate" />
@date.ToString("ddd").Substring(0, 2)
@isoDate
</div>
}
</div>
</div>

现在它会像这样打印出每个日期:“Mo yymmdd tu yymmdd we yymmdd”但我想做的是,所有属于“可能”的日期都放在“可能”选项卡下,所有属于“10 月”的日期都在“10 月”下,等等。

现在有点乱。 enter image description here

所以我想尝试做的是按照这些思路制作一些东西,它希望它说“五月”,并且“五月”中缺少的所有日期都将在该部分下,依此类推。

这就是我从数据库中获取缺失日期的方式(这是我的数据库层)

        public List<DateTime> GetConsultantMissingDays(Guid consultantId)
{
//List<DateTime> dates = new List<DateTime>();

DateTime oldDate = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1).AddMonths(-3);
var dates = db.TimeReports.Where(x => x.FK_ConsultantID == consultantId && x.Date >= oldDate).Select(x => x.Date);
//db.

return Constants.WorkDays.Except(dates).ToList();
}

这就是我如何获取 Viewbag.MissingDays(我的 Controller )的日期

var missingdays = new DatabaseLayer().GetConsultantMissingDays(Constants.CurrentUser(User.Identity.Name));
if (missingdays.Count == 0)
{
ViewData["missingDays"] = "";
}
else
{
ViewBag.MissingDays = missingdays;
}

ViewData.Model = projectData;

return View();

最佳答案

我现在无法检查确切的 HTML 布局,但我可以给你一个提示 ;)

您应该按月对日期进行分组,然后遍历分组项目:

<form class="form-horizontal">
<div class="portlet-body form">
<div class="form-group">
@foreach(var @group in ((List<DateTime>)ViewBag.MissingDays).GroupBy(x => x.Month))
{
<div class="col-md-2">
foreach (var date in @group)
{
var isoDate = date.ToString("yyMMdd");
<input type="checkbox" id="isoDate" name="isoDate" value="@isoDate" />
@date.ToString("ddd").Substring(0, 2)
@isoDate
}
</div>
}
</div>

然后您可以添加一些列标题以确定正确的月份。

编辑:根据@SimonGates 的评论 - 考虑到上述解决方案未考虑不同年份。如果有不同的年份,分组操作应该被扩展。

关于c# - asp.net 右标签下的右月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32070451/

24 4 0