LifeAct
@LifeAct
Создаем и раскручиваем, не ставим на конвейер

Как вывести записи в представление?

Всем привет!

Ребят подскажите как лучше вывести записи. Сложность в том, что разметка у меня не стандартная

вот такое представление - joxi.ru/1bmoOv4CX9aMmy вот что приходит на ум:
@int Cnt = 0;
 @foreach (var item in ViewBag.Records)
    {        
    //первый ряд из трех записей (и таких рядов будет 4, то есть 12 записей)
	
	if(Cnt == 0) {<div class="row-fluid property-row"> }
	
	if(Cnt < 4)
	{
        
            //первая запись первого ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   

			//вторая запись первого ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   
			
			//третья запись первого ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   
			
       
		Cnt++;
	 }		
	 
	 if(Cnt == 0) { </div>   }
	 
	 if(Cnt == 4) {<div class="row-fluid property-row"> }
	 
	 if(Cnt > 3 && <7)
	{
	
	 //первая запись второго ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   

			//вторая запись второго ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   
			
			//третья запись второго ряда
            <div class="span3">
                <article class="property-item">                    
                    <div class="property-attribute">                        
                        <h3 class="attribute-title"><a href="property-single.html">@item.Title</a><i class="icon-heart"></i></h3>                         
                    </div>
                </article>
            </div>   
	
	}
	
	 if(Cnt == 4) { </div>   }
	 
  }


но эта реализация через условный оператор похожа на говнокод.... вот и спрашиваю совета спецов
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
@heartdevil
плыву как воздушный шарик
Привет.

Вам надо сделать класс с уже отформатированными данными (так, как вам нужно) с определенной структурой. Затем передать его во вью, чтобы там можно было все одним циклом без сложного ветвления внутри все это дело вывести. В этот класс вы можете добавить определенные флажки для того, чтобы обозначить, в каких местах у вас должны выводиться те или иные теги.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dmitryKovalskiy
программист средней руки
Для передачи данных во View существует понятие Модель и строго-типизированные View. Для вывода данных, отличных от списков(т.е. разметка довольно типовая, но сами данные не являются массивом) можно использовать "копипасту" разметки и подстановку нужных параметров в нужные места.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы