今天使用到了Repeater控件,来绑定数据进行一些处理。但是遇到了个问题
类:
public class FieldInfo
{
/// <summary>
/// 字段名称
/// </summary>
[XmlAttribute()]
public string FieldName;
}
HTML代码:
<asp:Repeater ID="userRepeat" runat="server" OnItemDataBound="userRepeat_ItemDataBound">
<HeaderTemplate>
<table border="1" style="width:1000px;text-align:center;border-collapse:collapse;">
<thead style="background-color:red;">
<tr>
<th>ID</th>
<th>内容</th>
<th>操作</th>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><%#((FieldInfo)Container.DataItem).FieldName %></td>
<td><%# Eval("FieldName")%></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
[code=csharp]
this.userRepeat.DataSource = FieldInfoList ; //指定到数据源
/code]
出现的问题是在<%# Eval("FieldName")%>,根据错误描述是
DataBinding:“FieldInfo”不包含名为“FieldName”的属性。
但是<%#((FieldInfo)Container.DataItem).FieldName %> 是正确的。
没有遇到过这样的问题,求解答!
------解决思路----------------------
public string FieldName;
public string FieldName {get; set};
一个成员, 一个属性.
------解决思路----------------------
public string FieldName {get; set};
------解决思路----------------------
实体类一般都是
public string FieldName{get;set;}
我从来没用过单独的字段没有get set的..
而且你这问题与描述不符啊..
我以为是
this.userRepeat.DataSource=new FieldInfo();
------解决思路----------------------
好多方法或者类库都只认属性,不认字段
------解决思路----------------------
实体类的属性 public 数据类型 属性名{get;set;}