我需要能够获得输入的“发件人”和“收件人”之间的日期列表 同时显示每个的日期编号。我需要使用for循环,以便我可以填充单选按钮。这是我目前的代码 - 但它循环了日期和日期数字,这不是我想要的: 日期输入从(01.02.2016)到(02/02/2016)输出:
但我想要的是:
•Day:1 Date:01/02/2016
•日:2日期:02/02/2016
这是我的代码:
List<DateTime> dates = new List<DateTime>();
for (DateTime date = Model.DataModel.DateFrom.Value; date <= Model.DataModel.DateTo; date = date.AddDays(1))
{
dates.Add(date);
}
//Then enter this number of days into the loop to show radiobuttons
for (int i = 1; i <= dates.Count; i++)
{
foreach (var item in dates)
{
<ul>
<li>Day: @i.ToString() Date: @item.ToShortDateString()</li>
</ul>
}
}
答案 0 :(得分:1)
您有两种选择,但您现在的代码几乎就在那里。只要想想它的当前行为以及它正在做什么,你就会发现你的嵌套循环导致了这个问题。
//Then enter this number of days into the loop to show radiobuttons
<ul>
@for (int i = 1; i <= dates.Count; i++)
{
<li>Day: @i.ToString() Date: @dates[i-1].ToShortDateString()</li>
}
</ul>
或者你可以这样做:
//Then enter this number of days into the loop to show radiobuttons
if(dates.Any())
{
var count = 1;
<ul>
@foreach (var date in Dates)
{
<li>Day: @count Date: @date.ToShortDateString()</li>
count++;
}
</ul>
}
else
{<p>No dates found</p>}