2011-09-01 2 views
18

Prima ho un ripetitore e sto emettendo una proprietà. Ho provato sia"DataBinding: 'index + NewsItem' non contiene una proprietà con il nome 'Link'", ma esiste una proprietà (non un errore)

<%#Eval("Link")%> 

e

<%#DataBinder.Eval(Container.DataItem, "Link")%> 

ho una semplice classe

public class NewsItem 
{ 
    public string Link = ""; 
    public string Title = ""; 
} 

Io popolo una notizia List con un semplice ... ciascuno, e poi ..

repeater.DataSource = news; 
repeater.DataBind(); 

e ottengo "DataBinding: 'Index + NewsItem' non contiene una proprietà con il nome di 'Link'

risposta

32

campi Hai creato, non proprietà

di trasformarli in proprietà, regolare il codice come questo

public class NewsItem 
{ 
    public string Link { get; set; } 
    public string Title { get; set; }    

    public NewsItem() 
    { 
      this.Link = string.Empty; 
      this.Title = string.Empty; 
    } 
} 
+0

Grazie , Non pensavo che gli sarebbe importato, ma in effetti lo fa. –

+0

ugh, grazie (anche quello era il mio problema) –

+0

Trovo che il costruttore non sia necessario –