アイテム テンプレート ラベルに動的データを読み込むグリッドビューがあります。最終的な目標は、グリッドビューに読み込まれるすべてのメッセージに対して、受信者の数を含む「受信者」という列があります。そのメッセージのすべての受信者の名前のリストを表示するツールチップが必要です。ツールチップ用に取得したいデータは、別のリスト内のリストにあります。次のデータ バインディング タグを使用しようとしています。
<asp:Label ID="lblRecipients" runat="server" Text="recipients" ToolTip='<%# Eval("Recipients.fullName") %>'></asp:Label>
受信者がこのオブジェクト内のリストである場合:
[DataContract]
public class Message
{
[DataMember]
public string MsgId { get; set; }
[DataMember]
public string Title { get; set; }
[DataMember]
public string Description { get; set; }
[DataMember]
public string MsgSize { get; set; }
[DataMember]
public string DateRecorded { get; set; }
[DataMember]
public string FileName { get; set; }
[DataMember]
public string ActiveDate { get; set; }
[DataMember]
public decimal RecordTime { get; set; }
[DataMember]
public long Filelength { get; set; }
[DataMember]
public string Person { get; set; }
[DataMember]
public List<Person> Recipients { get; set; }
[DataMember]
public int RecipientCount { get; set; }
}
デバッグすると、評価で次のメッセージが表示されます。
HttpException was unhandled by user code.
DataBinding: 'Share.Service.Person[]' does not contain a property with the name 'FullName'.
WCF テスト クライアントを実行すると、その時点で、各 Person オブジェクトの FullName プロパティに受信者の名前が設定されていることがわかります。現時点では、この課題にどのように取り組むべきか、私にはよくわかりません。
どんな助けでも大歓迎です。