0

DataBinding というエラーが表示されるのはなぜですか:_Default+Student does not contain a property called name.

これは私のコードビハインドです:

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>
4

1 に答える 1

2

パブリック変数nameを次のようなプロパティに変換します。

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

"Name"次のようなデフォルト値( )が必要ない場合は、自動プロパティにすることができます。

public string name {get;set;}
于 2012-04-18T10:20:59.883 に答える