代码之家  ›  专栏  ›  技术社区  ›  Jason

具有持久性的网页导航-ASP.NET C#

  •  3
  • Jason  · 技术社区  · 16 年前

    我有一个已经在ASP.NET中完成的网站。我需要在底部添加一个包含实时流视频聊天(Flash对象)的部分,并且需要它在不同的页面访问中保持不变。

    例如,我有profile.aspx和local.aspx可以访问,我需要底部的小聊天框在页面更改之间保持不变。

    这是一张照片:

    alt text http://c3gl.com/pageper.jpg

    我唯一能想到的方法是…

    使整个网站在页面上动态加载所需内容。 或者使用底部框架?(不喜欢这个想法)

    有没有其他方法可以做到这一点,或者考虑到我已经有了一大堆ASPX,有没有其他方法可以轻松实现我需要的东西?

    编辑:我忘记提了,聊天是流视频聊天。(闪光物体)

    4 回复  |  直到 16 年前
        1
  •  2
  •   SirDemon    16 年前

    一种可能的解决方案是,可以将两个页面作为单个iframe放在父页面下。然后,当聊天框架保持不变时,更改的框架可以更改并导航到其他页面。

        2
  •  2
  •   Jemes    16 年前

    如果您需要聊天窗口来真正保持,那么您需要避免页面加载。唯一的方法是使用帧或Ajax调用。

    如果你不想进去修改你现有的页面,我认为使用框架是你最好的选择。如果你不需要在聊天区和主页之间交流,这将是你完成事情的最快和最简单的方式。

    另一个选择,可能不是你要找的,是缓存一些聊天会话,并在用户更改页面时重新加载。这样,他们就可以保留聊天记录,但是在页面重新加载期间聊天部分会消失。使用母版页或向每个页面添加聊天用户控件是完成此操作的最佳方法。

        3
  •  0
  •   Jon Hanna    16 年前

    根本不要坚持聊天框,坚持聊天。像Facebook一样,每个页面都会有一个新的聊天框,这个聊天框会定期获得聊天的当前状态。

    如果您坚持使用实际的聊天框,它将不起作用,因为不同的选项卡将处于不同的状态。

        4
  •  0
  •   Justin    16 年前

    你在数据库上运行吗?为什么不将聊天流量放入数据库,并在加载新页面时将其重新加载?如果您只希望保留少量文本(比如一个小窗口的屏幕空间),那么甚至可以使用会话状态。

    将持久区域设置为用户控件(.ascx文件),这样就可以在一个位置封装保存和重新加载,并轻松地将其添加到您想要的任何页面。

    你用母版页吗?如果是,只需将.ascx放在母版页中。你可能根本不需要修改你的个人页面。

    要在输入时保存聊天框文本,您必须使用Ajax。我将使用jquery(与ASP.NET WebMethods和.asmx配合使用非常好)等工具,以设置的间隔将聊天室内容发布回服务器。