2011-09-01 90 views
18

首先我有一个中继器,并且正在输出一个属性。我曾经尝试都“DataBinding:'index + NewsItem'不包含名称为'Link'的属性,但属性存在(不是错字)

<%#Eval("Link")%> 

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

我有一个简单的类

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

我填充列表新闻与一个简单的......每一个,然后..

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

我得到“DataBinding: “指数+ NewsItem”不包含名为“链接”

回答

32

您已经创建领域,而不是属性

把它们变成属性的属性,调整你的代码是这样

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

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

谢谢,我不认为它会关心这一点,但的确如此。 –

+0

呃,谢谢(这也是我的问题) –

+0

我发现构造函数是不必要的 –

相关问题