簡體   English   中英

檢查foreach是否包含1個以上

[英]Check if foreach contains more than 1

這是我的看法:

<form class="form-horizontal">
<div class="portlet-body form">
    <div class="form-group">
        @{
            int i = 0;
        }
        @foreach (var group in ((List<DateTime>)ViewBag.MissingDays).GroupBy(x => x.Month))
        {
           i++;
           var month = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(group.Key);
            <div class="panel-group accordion" id="accordion1">
                <div class="panel panel-default">
                    <div class="panel-heading">
                        <h4 class="panel-title">
                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapse_@i">
                                @month
                            </a>
                        </h4>
                    </div>
                    <div id="collapse_@i" class="panel-collapse collapse">
                        <div class="panel-body">
                            <div class="col-md-12">
                                @foreach (var date in group)
                                {
                                    var isoDate = date.ToString("yyMMdd");
                                    <label>
                                        <input type="checkbox" id="isoDate" name="isoDate" value="@isoDate" />
                                        @date.ToString("ddd").Substring(0, 2)
                                        @isoDate
                                    </label>
                                }
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        }
    </div>
</div>

我在這里所做的是按日期對日期進行分組,然后我有了一個foreach來打印正確月份下的所有日期,因此所有屬於的日期都可以在may選項卡下,所有屬於八月的日期屬於八月。

但是我想做的是,如果只有1個月,我不想打印帶有該月的標簽,而我只想打印日期。

我當時正在考慮做這樣的事情。 如果組包含的時間超過1個月,則僅在日期范圍內進行操作。

在組中添加變量:

var groups = ((List<DateTime>)ViewBag.MissingDays).GroupBy(x => x.Month)

然后,您可以檢查其數量:

<form class="form-horizontal">
<div class="portlet-body form">
<div class="form-group">
    @{
        int i = 0;
    }
    @foreach (var group in groups)
    {
       i++;
       var month = CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(group.Key);
        <div class="panel-group accordion" id="accordion1">
            <div class="panel panel-default">
                @if(groups.Count() > 1)
                {
                <div class="panel-heading">
                    <h4 class="panel-title">
                        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapse_@i">
                            @month
                        </a>
                    </h4>
                </div>
                }
                <div id="collapse_@i" class="panel-collapse collapse">
                    <div class="panel-body">
                        <div class="col-md-12">
                            @foreach (var date in group)
                            {
                                var isoDate = date.ToString("yyMMdd");
                                <label>
                                    <input type="checkbox" id="isoDate" name="isoDate" value="@isoDate" />
                                    @date.ToString("ddd").Substring(0, 2)
                                    @isoDate
                                </label>
                            }
                        </div>
                    </div>
                </div>
            </div>
        </div>
    }
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM