我有2个数据库表USER and MESSAGE
USER: UserID, FirstName, LastName
MESSAGE: MessageID, UserID, Content
我正在使用转发器来显示消息,它从MESSAGE表中检索数据,该表包含也显示的UserID。我想显示firstname和lastname而不是UserID,但我如何在转发器中执行此操作?我需要使用2个数据源吗?
MESSAGE-Table不包含FirstName和LastName,所以我根据MESSAGE表中的UserID从USER表中读取FirstName和LastName。
private List<Message> listMessages = Database.GetMessages();
repeaterMessages.DataSource = listMessages;
repeaterMessages.DataBind();
使用上面的代码,我可以在转发器中显示MessageID,UserID和Content,但不能显示FirstName和LastName。
我真的不知道我能做什么......
我希望有这样的东西(在转发器内):
MessageID: 1
Mike Johnson
This is the content.
但我得到的是:
MessageID: 1
UserID: 43
This is the content.
答案 0 :(得分:0)
邮件类以MessageID
,UserID
和Content
为成员。您需要选择与Message
加入的User
,并仅投影您要显示的列。
例如,您可以定义名为DisplayableMessage
的类,例如,其中包含MessageID
,UserName
和Content
等成员。您可以为类定义一个方法,我们将其命名为GetDisplayableMessage
,它将根据Message
和User
数据初始化DisplayableMessage列表。然后,您可以将此方法与DataSource
的{{1}}相关联。