publicActionResultIndex(){//fetch the domain model from somewherevar domain =Enumerable.Range(1,5).Select(x =>newDomainModel{Foo="foo "+ x
});//now build the view model//TODO: use AutoMapper to perform this mappingvar model = domain.Select((element, index)=>newMyViewModel{RowNumber= index +1,Foo= element.Foo});returnView(model);}
Maintenant votre vue devient fortement typée pour le modèle de vue bien sûr:
Maintenant, supposons que, pour certains idiot vous ne souhaitez pas utiliser les modèles de vue. Dans ce cas, vous pourriez faire de votre point de vue en spaghetti code si vous préférez:
Comment puis-je ajouter cette fonctionnalité à WebGrid? Darin Comment voulez-vous créer un index qui peut être utilisé avec plusieurs IEnumerable listes? Veuillez voir ma question Indice pour plusieurs listes Merci
C'est vraiment une très bonne approche, mais lorsque vous utilisez le tri ou la pagination de votre RowNumber valeurs ne démarre pas à partir de 1 sur la page.
Dans mon projet, j'ai eu un cas où j'ai besoin de savoir un indice de la ligne, indépendamment de WebGrid d'échange /de tri et je suis tombé sur la solution suivante:
si nous sommes sur la page n(n>1) de la grille, et nous parlent seulement, pagesize de données, ce qui ne présentent pas de corriger le numéro de ligne est-il document officiel? Je n'ai pas trouvé officiel de docs sur le sujet. Je suppose que la seule source de la vérité est ici WebGrid code source
@{int i=0;foreach(var item inModel){<tr><td>@i</td><td>@Html.DisplayFor(modelItem => item.Expense)</td><td>@Html.ActionLink("Edit","Edit",new{ id=item.Id})|@Html.ActionLink("Delete","Delete",new{ id = item.Id},new{ onclick ="return confirm('Are you sure you wish to delete this record?');"})</td></tr>
i++;}}
Vous pouvez utiliser un modèle d'affichage qui contient une propriété indiquant le numéro de ligne.
Supposons que vous avez un modèle de domaine:
Maintenant vous construire un modèle de lecture qui va correspondre aux exigences de votre point de vue:
et puis:
Maintenant votre vue devient fortement typée pour le modèle de vue bien sûr:
Maintenant, supposons que, pour certains idiot vous ne souhaitez pas utiliser les modèles de vue. Dans ce cas, vous pourriez faire de votre point de vue en spaghetti code si vous préférez:
Darin Comment voulez-vous créer un index qui peut être utilisé avec plusieurs IEnumerable listes? Veuillez voir ma question Indice pour plusieurs listes Merci
OriginalL'auteur Darin Dimitrov
C'est vraiment une très bonne approche, mais lorsque vous utilisez le tri ou la pagination de votre
RowNumber
valeurs ne démarre pas à partir de 1 sur la page.Dans mon projet, j'ai eu un cas où j'ai besoin de savoir un indice de la ligne, indépendamment de WebGrid d'échange /de tri et je suis tombé sur la solution suivante:
est-il document officiel?
Je n'ai pas trouvé officiel de docs sur le sujet. Je suppose que la seule source de la vérité est ici WebGrid code source
OriginalL'auteur takemyoxygen
il suffit d'ajouter le code suivant
Suivez ce lien pour plus d'info
espère que ce sera utile à quelqu'un
OriginalL'auteur mathewtinuthomas
Essayer cette
OriginalL'auteur Jameel
Ajouter ceci:
OriginalL'auteur Snehlata Shaw