Binding con una collection List<string> generic
Quando si usa una collection di tipo List<tipo> per fare il binding con un controllo non si ha a disposizione un nome campo e quindi non si può usare l'espressione
ma bisogna usare
ovvero Container.DataItem.
Ecco un esempio completo con un ListView
e il relativo code behind
XML
<li><%# Eval("nomeCampo") %></li>
XML
<li><%# Container.DataItem %></li>
Ecco un esempio completo con un ListView
XML: Default.aspx
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
<asp:ListView ID="lv" runat="server">
<LayoutTemplate>
<ul>
<asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
</ul>
</LayoutTemplate>
<ItemTemplate>
<li><%# Container.DataItem %></li>
</ItemTemplate>
</asp:ListView>
C#: Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//datasource di esempio
List<string> items = new List<string>();
items.Add("Voce 1");
items.Add("Voce 2");
items.Add("Voce 3");
//binding dei dati
if (!Page.IsPostBack)
{
lv.DataSource = items;
lv.DataBind();
}
}
}
}