J'ai un GridView, avec filtrage et pagination (10 à la fois), lié à une Linqdatasource. Tout cela fonctionne. Mais comment puis-je obtenir l'ID de toutes les données récupérées dans le LinqDataSource après la fin de la récupération de toutes les lignes?Itérer sur des objets retournés par Linqdatasource
J'ai cette méthode, et e.Result est un type de données objet contenant une liste pour cette grille
protected void LinqDataSource_Selected(object sender, LinqDataSourceStatusEventArgs e) // event fires after data retrieval complete.
{
List<int> ids = new List<int>();
if (e.TotalRowCount > 0)
{
for (int idx = 0; idx < e.TotalRowCount; idx++)
{
Foo foo = (Foo)(e.Result[idx]); // error cannot apply indexing to expression of type object
ids.Add(foo.Id);
}
}
}
Mon erreur est itérez un objet, comment cela peut-il être fait?
quel genre de liste ne contient e.Result? si e.Result est un objet, vous devez le convertir au type approprié de la liste pour appliquer l'indexation –
et aussi, il vous manque une parenthèse: Foo foo = (Foo) (e.Result [idx]); –