Как поместить загрузчик выберите внутри цикла в ASP.NET MVC? - PullRequest
0 голосов
/ 11 июня 2018

Я помещаю некоторые данные в виде кнопок, которые ограничены 3, а остальные данные в раскрывающемся списке.Так, например, если у меня есть 7 типов данных, поэтому 3 будут кнопками, а остальные 4 будут опциями выпадающего списка.

 @if(Model.Rounds)
                        {
                            var url = Url.Action("Round", "Home", new { area = "Rounds" });

                            <div id="round">
                                <div class="btn-group">                                        
                                            @{int btnCount = 0;}
                                            @foreach (var rt in Model.Rounds)
                                            {
                                                if (btnCount < 3)
                                                {
                                                    <button type="button" class="btn btn-default" data-url="@url" data-type="@rt.Value">
                                                        @rt.Key
                                                    </button>
                                                    btnCount++;
                                                }
                                                else
                                                {
                                                  <div class="controls">
                                                    <select class="form-control">
                                                    <option data-url="@url" data-type="@rt.Value">@rt.Key</option>
                                                    </select>
                                                }
                                            }                                            
                                    </div>
                                </div>
                            </div>
                        }

Проблема в том, что после 3 кнопок 4 выпадающих seoarate появляются вместо одного выпадающего с 4опции.Что я делаю не так?

1 Ответ

0 голосов
/ 11 июня 2018

Я бы рекомендовал разделить логику:

<div id="round">
    <div class="btn-group">                                        
        @foreach (var rt in Model.Rounds.Take(3))
        {
            <button type="button" class="btn btn-default" data-url="@url" data-type="@rt.Value">
                @rt.Key
            </button>
        }                                            
        <div class="controls">
            <select class="form-control">
                @foreach (var rt in Model.Rounds.Skip(3))
                {
                    <option data-url="@url" data-type="@rt.Value">@rt.Key</option>
                }
            </select>
        </div>
    </div>
</div>

Ваша версия содержит select в циклах foreach, таким образом, каждый раз создавая новый выпадающий список.

...