工具提示,显示gridview项模板标签中的动态名称列表

时间:2013-09-29 23:44:36

标签: c# asp.net

我有一个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属性。我现在不太确定如何应对这一挑战。

任何帮助都将不胜感激。

1 个答案:

答案 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>