我有一个gridview,它将动态数据加载到项目模板标签中,最终目标是加载到gridview中的每条消息,有一个名为“recipients”的列,其中包含收件人的计数。我想要一个工具提示来显示该消息的每个收件人的名称列表。我想要获取工具提示的数据位于另一个列表中的列表中。我正在尝试使用以下数据绑定标记:
<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; }
}
当我调试时,我在Eval上收到以下消息:
HttpException was unhandled by user code.
DataBinding: 'Share.Service.Person[]' does not contain a property with the name 'FullName'.
即使在运行我的WCF测试客户端时,我发现在那时,它使用收件人名称填充每个Person对象中的FullName属性。我现在不太确定如何应对这一挑战。
任何帮助都将不胜感激。
答案 0 :(得分:0)
我不确定你是否可以绑定这样的数据,消息是正确的,收件人中没有“FullName”属性,(Person [])
你有像
这样的格式化功能protected string GetFullNames(List<Person> persons) {
// do whatever you want and return the formatted string
}
然后将工具提示绑定到该函数输出?
<asp:Label ID="lblRecipients" runat="server" Text="recipients" ToolTip='<%= GetFullNames(Recipients) %>'></asp:Label>