2012-04-18 5 views
0

Почему я получаю сообщение об ошибке, что DataBinding: _Default+Student does not contain a property called name.Повторитель привязки данных. Свойство не найдено

Это мой CodeBehind:

public class Student 
{ 
     public string name ="Name"; 
     public string favouriteFood = "Favourite food"; 
     public string hobby = "Hobby"; 

} 

protected void Page_Load(object sender, EventArgs e) 
{ 

    Student nino = new Student(); 
    nino.name = "nino"; 
    nino.favouriteFood = "nachos"; 
    nino.hobby = "dancing son"; 


    Student madelene = new Student(); 
    madelene.name = "madelene"; 
    madelene.favouriteFood = "sushi"; 
    madelene.hobby = "dancing casino"; 

    Student baiba = new Student(); 
    baiba.name = "baiba"; 
    baiba.favouriteFood = "bitch soup"; 
    baiba.hobby = "complaining"; 

    ArrayList students = new ArrayList(); 

    students.Add(madelene); 
    students.Add(nino); 
    students.Add(baiba); 

    testRepeater.DataSource = students; 
    testRepeater.DataBind(); 


} 

Это передняя:

<asp:Repeater runat="server" ID="testRepeater" > 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "name") %>' />"></asp:Label> 
    </ItemTemplate> 

</asp:Repeater> 

ответ

2

Преобразовать открытую переменную name в имущество, подобное:

private string _name; 
public string name 
{ 
    get 
    { 
     return _name??"Name"; 
    } 
    set 
    { 
     _name = value; 
    } 
} 

Это может быть авто недвижимость, если вам не нужно значение по умолчанию ("Name"), как:

public string name {get;set;} 
Смежные вопросы