Asp.net mvc 显示重叠的聊天历史记录ASP.NET Razor视图

Asp.net mvc 显示重叠的聊天历史记录ASP.NET Razor视图,asp.net-mvc,razor,Asp.net Mvc,Razor,我需要在Razor视图页面中显示聊天历史记录。我有一种方法,可以从用户B获取发送给用户a的用户指定消息。另一种方法是为用户B获取这些信息。我有一个viewModel: public class SentReceivedMessagesViewModel { public IEnumerable<PrivateMessage> IncomingMessages { get; set; } public IEnumerable<PrivateMessage>

我需要在Razor视图页面中显示聊天历史记录。我有一种方法,可以从用户B获取发送给用户a的用户指定消息。另一种方法是为用户B获取这些信息。我有一个viewModel:

 public class SentReceivedMessagesViewModel
{
    public IEnumerable<PrivateMessage> IncomingMessages { get; set; }
    public IEnumerable<PrivateMessage> OutGoingMessages { get; set; }
    public PagingInfo PagingInfo { get; set; }


}

难题是如何组织视图,以便在重叠窗格中显示发送/接收的类似于Facebook的聊天历史记录?有任何教程或演示吗?

+1对于措辞得体的好问题,适合进一步使用,还有,它目前的用途是什么?如果有的话?我们知道你想要什么,但我们不知道你得到了什么,这是非常有用的一步!目前,它首先显示所有传入消息,然后显示传出消息,反之亦然。但我希望**href单击**(“聊天历史”)。在facebook风格的页面视图中获取发送/接收。我想这提供了有用的线索。目前,您在一个列表中已发送所有消息,而在另一个列表中已接收所有消息?您想交替显示它们,但它们当前以块的形式出现?您可能需要创建第三个列表,并输入第一个和第二个列表中的数据,希望每条消息都有某种时间戳属性(因为可能一个人在返回一条消息之前发送了两条消息)然后使用来自每个列表的消息的时间戳,根据时间戳的顺序将数据输入到第三个列表中,然后只显示第三个列表,我想这可能在理论上是可行的,在这里,您的var模型将是第三个列表,您仍然可以返回模型的部分视图,并提供一个快照,然后将更新您,谢谢。
 public ActionResult Conversations(Guid targetId)
    {
        var myGuid = (Guid)Membership.GetUser(this.User.Identity.Name).ProviderUserKey;
        var incomingchats = db.IncomingHistoryFromUserId(targetId, myGuid);
        var outgoingchats = db.OutgoingHistoryToUserId(myGuid, targetId);
        var model = new SentReceivedMessagesViewModel
          {
              IncomingMessages=incomingchats,
              OutGoingMessages=outgoingchats,
          };
        return PartialView("Conversation",model);
    }