Использование цикла for в цикле for для генерации строк с содержимым - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь создать вид, подобный следующему

What I'm trying to achieve

Количество строк предопределено в моем коде на стороне сервера. В настоящее время я изо всех сил пытаюсь получить доступ к данным своих предметов в моем списке.

<div class = "row">
 <div class = "col-12" >
 @for(int i = 1; i <= Model.RowCount; i++) {
  <div class = "row" >
   @for(int j = 0; j < Model.List.Count; j++) {
    <div class = "col-3 p-3 mb-4 ml-4 bg-dark text-white rounded">
     <b > @Model.List[j].Value < /b> 
     </div>
   } 
   </div>
 } 
  </div>
</div>

Что я точно пытаюсь сделать, так это разделить мой список на три части и создать три элемента в строке. После того, как одна строка будет заполнена содержимым, она должна перейти к следующей строке и продолжить генерирование содержимого, не теряя отслеживания последнего элемента, к которому она обращалась.

Например: сервер сгенерировал последний элемент строки 1 и перешел к строке 2. Это означает, что последним элементом строки 1 был список [2]. Теперь первым элементом в следующей строке должен быть список [3].

Любая помощь приветствуется!

1 Ответ

1 голос
/ 04 октября 2019
<div class = "row">
 <div class = "col-12" >
 @var index = 0;
 @for(int i = 1; i <= Model.RowCount; i++) {
  <div class = "row" >
   @for(int j = 0; j < Model.List.Count; j++) {
    index++;
    <div class = "col-3 p-3 mb-4 ml-4 bg-dark text-white rounded">
     <b > @Model.List[index].Value < /b> 
     </div>
   } 
   </div>
 } 
  </div>
</div>

или

<div class = "row">
 <div class = "col-12" >
 @for(int i = 1; i <= Model.RowCount; i++) {
  <div class = "row" >
   @for(int j = 0; j < Model.List.Count; j++) {
    var index = Model.List.Count * (i-1) + j;
    <div class = "col-3 p-3 mb-4 ml-4 bg-dark text-white rounded">
     <b > @Model.List[index].Value < /b> 
     </div>
   } 
   </div>
 } 
  </div>
</div>
...