当前位置: 代码迷 >> C# >> 有没有人试过使用实体类去做数据源?解决办法
  详细解决方案

有没有人试过使用实体类去做数据源?解决办法

热度:86   发布时间:2016-05-05 03:48:33.0
有没有人试过使用实体类去做数据源?
今天使用到了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;}
  相关解决方案