ich eine IEnumerable Liste der Rennfahrer erstellt haben LINQ als solche aus einem String-Array mit unter:Ich versuche, einen Repeater zu lernen, wie eine IEnumerable LINQ Sammlung zu binden
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;
ich es einfach nur am halten zur Zeit.
Ich binde es dann zu einer ASP.NET Gridview wie so unten:
GV_CurrentF1Drivers.DataSource = result;
GV_CurrentF1Drivers.DataBind();
Dies funktioniert gut. Jetzt möchte ich die gleiche Ausgabe (Ergebnis) nehmen und sie an einen Repeater binden, aber egal, was ich versuche, ich kann den Repeater nicht zum Laufen bringen und ich denke, dass mir ein grundlegendes Verständnis von LINQ fehlt und wie es mit ASP.NET funktioniert .
Unten ist die vollständige aspx Seite zu zeigen, wo ich bis jetzt habe. Kann jemand (sanft wenn möglich) mich auf den Weg zurückführen?
<%@ 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>
Ich verwende den folgenden Code das Ergebnis an den Repeater zu binden:
R_CurrentF1Drivers.DataSource = result;
R_CurrentF1Drivers.DataBind();
ich folgende Fehlermeldung erhalten, wenn ich versuche, die Seite mit dem Repeater in auszuführen:
Exception Details: System.Web.HttpException: DataBinding: 'System.String' enthält keine Eigenschaft mit dem Namen 'Treiber'.
var = vom Treiber in driverNames? Wo ist der Variablenname? var foo = vom Treiber in driverNames, bearbeiten Sie es Kerl;) – Sadegh
Sorry, wenn ich diesen Code bekomme ich bekomme "Fehler \t 1 Kann Typ 'System.Collections.Generic.IEnumerable nicht' zu 'System.Collections .Generic.IEnumerable '. Eine explizite Konvertierung existiert (fehlt Ihnen ein Cast?) " –
Ich muss einen anderen Namen als den Kleinbuchstaben-Treiber verwenden, denke ich. –