ho creato una lista IEnumerable dei piloti che utilizzano LINQ da un array di stringhe come tali sotto:Sto cercando di imparare come associare una raccolta IEnumerable LINQ ad un ripetitore
string[] driverNames = {
"Lewis Hamilton",
"Heikki Kovalainen",
"Felipe Massa",
"Kimi Raikkonen",
"Robert Kubica",
"Nick Heidfeld",
"Fernando Alonso",
"Nelson Piquet Jr",
"Jarno Trulli",
"Timo Glock",
"Sebastien Bourdais",
"Sebastien Buemi",
"Mark Webber",
"Sebastian Vettel",
"Nico Rosberg",
"Kazuki Nakajima",
"Adrian Sutil",
"Giancarlo Fisichella",
"Jenson Button",
"Rubens Barrichello"
};
IEnumerable<string> result = from driver in driverNames
orderby driver
select driver;
sto solo mantenerlo semplice per adesso.
ho quindi associare ad un ASP.NET GridView in questo modo qui di seguito:
GV_CurrentF1Drivers.DataSource = result;
GV_CurrentF1Drivers.DataBind();
Questo funziona bene. Ora voglio prendere lo stesso risultato (risultato) e collegarlo a un ripetitore, ma non importa quello che cerco Non riesco a far funzionare il ripetitore e penso che mi manchi una certa comprensione chiave di LINQ e come funziona con ASP.NET .
Di seguito è riportata la pagina completa di aspx per mostrare dove sono arrivato fino ad ora. Per favore qualcuno può (gentilmente se possibile) guidarmi sul sentiero?
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Example1.aspx.cs" Inherits="Example1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div style="float: left;">
<asp:GridView ID="GV_CurrentF1Drivers" runat="server" />
</div>
<div style="float: left;">
<asp:Repeater ID="R_CurrentF1Drivers" runat="server">
<ItemTemplate>
<%# Eval("driver") %></ItemTemplate>
</asp:Repeater>
</div>
</form>
</body>
</html>
Io uso il seguente codice per associare il risultato al ripetitore:
R_CurrentF1Drivers.DataSource = result;
R_CurrentF1Drivers.DataBind();
ricevo il seguente errore quando provo a fare funzionare la pagina con il ripetitore in:
Eccezione Dettagli: System.Web.HttpException: DataBinding: 'System.String' non contiene una proprietà con il nome 'driver'.
var = dal driver in driverNames? dov'è il nome della variabile? var foo = dal driver in driverNames, edit it guy;) – Sadegh
Scusa quando provo quel codice ottengo "Errore \t 1 Impossibile convertire implicitamente il tipo 'System.Collections.Generic.IEnumerable' a 'System.Collections .Generic.Inumerable '. Esiste una conversione esplicita (ti manca un cast?) " –
Devo usare un nome diverso dal driver in minuscolo, immagino. –