1

我有 2 个数据库表,USER and MESSAGE

USER: UserID, FirstName, LastName 
MESSAGE: MessageID, UserID, Content 

我正在使用转发器来显示消息,它从包含 UserID 的 MESSAGE 表中检索数据,该表也显示了。我想显示名字和姓氏而不是用户 ID,但是我如何在中继器中做到这一点?我需要使用 2 个数据源吗?

MESSAGE-Table 不包含 FirstName 和 LastName,因此我根据 MESSAGE-table 中的 UserID 从 USER-table 中读取 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.
4

1 回答 1

0

消息类有MessageID,UserIDContent作为成员。您需要选择Message加入User并仅投影您要显示的列。

例如,您可以定义一个名为 的类,例如,它将具有成员,DisplayableMessage例如和。您可以为该类定义一个方法,我们将其命名为它将基于和数据初始化一个 DisplayableMessage 列表。然后您可以将此方法与.MessageIDUserNameContentGetDisplayableMessageMessageUserDataSourceRepeater

于 2013-07-28T15:07:16.180 回答