8

私は次のコードを持っています:

<asp:ListView ID="lvDetail" runat="server">
                    <ItemTemplate>
                        <tr>
                            <td><%# Eval("ShpNo")%></td>
                            <td><%# Eval("QtyShp")%></td>
                            <td><%# Eval("NumPallets")%></td>
                        </tr>
                    </ItemTemplate>
                    <LayoutTemplate>
                        <table id="tbl1" runat="server">
                            <tr id="tr1" runat="server">
                                <td id="td1" runat="server">ShpNo</td>
                                <td id="td2" runat="server">QtyShp</td>
                                <td id="td3" runat="server">NumPallets</td>
                            </tr>
                            <tr id="ItemPlaceholder" runat="server">  
                            </tr>
                        </table>
                    </LayoutTemplate>
                </asp:ListView>

そして、背後にあるコードでは:

List<Visibility> ListVisibility = new List<Visibility>();
    public class Visibility
    {
        public int ShpNo;
        public int QtyShp;
        public int NumPallets;
        public string ETA;            
    }

List<Visibility> items = ListVisibility.FindAll(VisibItem => VisibItem.ETA == Calendar1.SelectedDate.ToShortDateString());
        lvDetail.DataSource = items;            
        lvDetail.DataBind();

しかし、バインド時に次のエラーが発生します。

<td><%# Eval("ShpNo")%></td>

DataBinding: 'AIS.WebVisibility+Visibility' does not contain a property with the name 'ShpNo'.

リストから正しい値を取得するには、何をする必要がありますか?

4

1 に答える 1

12

プロパティの代わりにフィールドがあります

public class Visibility
{
    public int ShpNo { get; set; }
    public int QtyShp { get; set; }
    public int NumPallets { get; set; }
    public string ETA { get; set; }
}

それを試してみてください

于 2012-11-28T20:33:35.667 に答える