Problème Index hors limite et à -1

- - Dernière réponse :  hajar23 - 29 avril 2019 à 10:13
Bonjour,
j'essaie de récuperer le l'indice de la ligne que j'ai selectionner dans mon webgrid voila le bout de code qui me pose problème:
@if (Model.Table != null)
{
<td align="center">
@{
i = 0;
EspaceExterneMVC.Models.DataTableModel m = new EspaceExterneMVC.Models.DataTableModel();
//cols.Add(new WebGridColumn() {ColumnName ="Action", Format = (item) => item.GetSelectLink("Edit") });
cols.Add(new WebGridColumn() { Format = (item) => new HtmlString(Html.ActionLink("Edit", "Editer", "Gestion", new { id = grid.Rows[grid.SelectedIndex]}, null).ToString()) });
foreach (EspaceExterneMVC.Models.FieldTableModel fld in Model.Table.Fields)
{
i++;
cols.Add(new WebGridColumn() { ColumnName = string.Format("Property{0}", i), Header = fld.Name, CanSort = true });
}
grid = new WebGrid(Model.Table.Datas);

@grid.GetHtml(
tableStyle: "Grid-table",
headerStyle: "Grid-Header",
alternatingRowStyle: "Grid-alt",
selectedRowStyle: "Grid-selected",
rowStyle: "Grid-rowstyle",
footerStyle: "Grid-Footer",
columns: cols
)
}


Je travaille sous visual studio et j'ai cette erreur là :
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index
Afficher la suite 

3 réponses

Messages postés
13610
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
295
0
Merci
Bonjour
à quelle ligne?
hajar233
Messages postés
2
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
25 avril 2019
-
cols.Add(new WebGridColumn() { Format = (item) => new HtmlString(Html.ActionLink("Edit", "Editer", "Gestion", new { id = grid.Rows[grid.SelectedIndex]}, null).ToString()) });
Commenter la réponse de Whismeril
Messages postés
13610
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
295
0
Merci
Et quelle est la valeur de grid.SelectedIndex à ce moment là ?
hajar233
Messages postés
2
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
25 avril 2019
-
elle est à -1
Commenter la réponse de Whismeril
Messages postés
13610
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 août 2019
295
0
Merci
Ça veut dire qu'à ce moment là, il n'y a pas de ligne sélectionnée.
  • Option 1, tu cherches à comprendre pourquoi et à éviter le cas
  • Option 2, tu fais un if, pour vérifier qu'il ne vaut pas -1
  • Option 3, option 1 et option 2

Commenter la réponse de Whismeril