Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一个月的天数太多_C#_Asp.net Mvc 4_Calendar - Fatal编程技术网

C# 一个月的天数太多

C# 一个月的天数太多,c#,asp.net-mvc-4,calendar,C#,Asp.net Mvc 4,Calendar,我似乎无法理解这一点 我正在MVC4中生成年度日历。但由于某些原因,它显示了月份中的天数太多 这可能是一个迭代错误,但我似乎没有看到它 .cshtml文件 <table> <tr> <td> </td> @{ for(int nr = 0; nr<12; nr++) { <td> <p>

我似乎无法理解这一点

我正在
MVC4
中生成年度日历。但由于某些原因,它显示了月份中的天数太多

这可能是一个迭代错误,但我似乎没有看到它

.cshtml文件

<table>
<tr>
    <td>

    </td>
    @{
        for(int nr = 0; nr<12; nr++)
        {
            <td>
                <p>
                    @monthNames[nr]
                </p>
            </td>
        }
    }
</tr>
@{
    for(int day = 1; day <= 31; day++)
    {
        <tr>
            <td>
                <p>
                    @day
                </p>
            </td>
            @{
                for(int month = 1; month <= 12; month++)
                {
                    if (day <= DateTime.DaysInMonth(year, month))
                    {
                        DateTime weekday = new DateTime(year, month, day);

                        <td>
                            @{
                                foreach (var thisEvent in events)
                                {
                                    if ((thisEvent.day == day) && (thisEvent.month == month) && (thisEvent.year == year))
                                    {
                                        <div style="background-color:@thisEvent.description.eventType.color;">
                                            @thisEvent.description.name
                                        </div>
                                    }
                                }
                            }
                            <p>
                                @weekday.ToString("dddd", new System.Globalization.CultureInfo("da-DK"))
                            </p>
                        </td> 
                    }
                }
            }
        </tr>
    }
}
</table>

@{
对于(国际自然资源=0;国际自然资源<代码>国际自然资源=2014年;
for(int month=1;month发现错误

我不得不在列表中添加一个
else

if (day <= DateTime.DaysInMonth(year, month))

if(天)第一个循环应该是月,第二个循环应该是天,这似乎很自然。也就是说,12行和28..31列。我觉得奇怪的是,你先迭代了31天,你打算做什么样的布局。我会迭代几个月,然后在这几天内直到第二天。Sinmont根据你的elabo更新了这个问题定量,那么我看不出问题所在。如果你有月份作为列,那么你就必须有32行,一行用于标题,另外31行用于覆盖更长月份的所有可能天数……你到底想“修复”什么?“月份中的天数太多”…-这是什么意思?你每个月有额外的一天吗?这是一个表布局问题吗?你看到了什么?在内for循环和内-外for循环之前获得月内天数。将其用作内循环的终止条件。这样你就不必检查我怀疑的
天(因此出现了“表布局问题”)我对你的问题的评论中的问题。很高兴你把它修好了。
if (day <= DateTime.DaysInMonth(year, month))
if (day <= DateTime.DaysInMonth(year, month))
{
    <td>Day exist</td>
}
else
{
    <td>Day doesn't exist</td>
}