2010-03-09 4 views
4

Je suis habitué à utiliser un contrôle Repeater dans des projets Web ASP.Net classiques. Je vois ASP.Net MVC n'a pas ce genre de chose. Que devrais-je utiliser ici?Recherche d'une fonctionnalité de type répéteur dans ASP.Net MVC

EDIT:

En réponse à la question, qu'est-ce que j'essaie de faire que je ne peux pas obtenir dans le foreach. Je suppose que j'essaie d'obtenir un style de ligne alternatif. En outre, il semble juste un peu faux d'avoir d'autres choses que le balisage dans la vue. Mais peut-être que je vais surmonter cela pendant que je travaille avec. Merci pour les réponses.

Répondre

8

La chose la plus simple à utiliser est une boucle foreach.
Qu'essayez-vous de faire?

EDIT:

<% bool odd = false; 
    foreach(var row in something) { %> 
    <tr class="<%= odd ? "OddRow" : "EvenRow" %>"> 
     ... 
    </tr> 
<% odd = !odd; } %> 
+0

+1 Mes pensées exactement. Il n'y a pas de contrôles comme nous l'avions dans MVC. –

+0

Je manque le modèle d'article alternatif le plus que je devine. – uriDium

+0

Vous pouvez retourner un booléen et utiliser l'opérateur ternaire inline, ce qui est en réalité beaucoup plus facile que de dupliquer l'ensemble du template. – SLaks

1

Pour ajouter à la réponse de SLaks.

Vous pouvez encapsuler votre code HTML dans une vue partielle.

Appelez <%= Html.Partial("ViewName", optional_ViewModel) %>.

Cela peut sembler plus proche du contrôle du répéteur. Où la vue partielle serait un peu comme votre modèle d'élément.

Cette approche se prête également très bien à la réutilisation de code.

1

Si vous manquez beaucoup de fonctionnalités de WebForms, peut-être avez-vous besoin d'un moteur de vue plus riche? Puis-je suggérer le Spark View Engine? Comme WebForms, il y a beaucoup de fonctionnalités incluses pour que vous n'ayez pas à réécrire les mêmes choses et/ou à écrire vos propres aides.

+1

Le Spark ViewEngine est très puissant et je l'aime vraiment mieux que le tag-soupe qui est généralement produit en travaillant avec WebForms ViewEngine ... –

0

style ligne alternatif peut être réalisé par des styles CSS ...
BTW - chacun fonctionalité de formulaires Web peut être réalisé ... mvc à la fin tout est html, js et css

0

Vous pouvez même créer un assistant HTML pour cela.

Questions connexes