He creado una lista IEnumerable de pilotos de carreras utilizando LINQ a partir de una matriz de cadenas como tal a continuación:Estoy tratando de aprender cómo enlazar una colección LINQ IEnumerable a un repetidor
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;
estoy simplemente hacer que sea sencillo por ahora.
luego ato a un GridView ASP.NET como es abajo:
GV_CurrentF1Drivers.DataSource = result;
GV_CurrentF1Drivers.DataBind();
Esto funciona bien. Ahora quiero tomar la misma salida (resultado) y vincularla a un repetidor, pero no importa lo que intento, no puedo hacer que funcione el repetidor y creo que me falta algo de comprensión clave de LINQ y cómo funciona con ASP.NET .
A continuación se muestra la página completa aspx para mostrar dónde he conseguido hasta ahora. Por favor, ¿puede alguien (suavemente si es posible) guiarme de vuelta al camino?
<%@ 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>
uso el siguiente código para enlazar el resultado al repetidor:
R_CurrentF1Drivers.DataSource = result;
R_CurrentF1Drivers.DataBind();
me sale el siguiente error al intentar ejecutar la página con el repetidor en:
Excepción Detalles: System.Web.HttpException: DataBinding: 'System.String' no contiene una propiedad con el nombre 'controlador'.
var = desde el controlador en driverNames? ¿Dónde está el nombre de la variable? var foo = del controlador en driverNames, edítelo chico;) – Sadegh
Lo siento cuando pruebo ese código me sale "Error \t 1 No puedo convertir implícitamente el tipo 'System.Collections.Generic.IEnumerable' a 'System.Collections .Generic.IEnumerable '. Existe una conversión explícita (¿falta un molde?) " –
Tengo que usar un nombre diferente al del minúsculo, supongo. –