你如何处理用户通知弹出“功能区” - 类似于SO?

时间:2010-07-15 04:07:54

标签: c# sql asp.net-mvc user-interface notifications

在我的asp.net MVC应用程序中,我正在计划一个类似于SO的用户通知系统。这是我正在考虑的表格结构:

Message table
--------------------------------
PK  MsgId     BigInt
FK  UserId    UniqueIdentifier
    Body      nvarchar(200)
    IsRead    TinyInt
    DateSent  DateTime

首先,这个DB结构看起来不错吗?有更好的方法吗?

顶部的功能区将显示用户有未读消息。当用户访问该消息的页面时,该消息将自动被读取(无需单击“标记为已读”按钮。[将IsRead字段更改为1 ]

如果有未读消息,建立功能区始终可见。 如何构建它以让用户隐藏功能区,即使他们有未读消息 - 然后在用户访问的下一个内部页面上不加载功能区?

2 个答案:

答案 0 :(得分:2)

我会添加一个类似“IsAcknowledged”的标志,因此只有当!IsRead && !IsAcknowledged然后使用AJAX在用户点击“x”或其他时使用AJAX更新标志时才能显示功能区。这样就保持了IsRead标志,这样当用户选择查看他的消息时,你仍然知道哪些消息还没有被读过。

另外,不确定您使用的DBMS,但对于MSSQL中的布尔字段,我喜欢使用bit类型。

答案 1 :(得分:1)

有许多jquery插件可以让你拥有这个漂亮的动画通知栏,例如jGrowljBar。只需选择其中一个,尝试一下,如果您在实施它时遇到问题,请不要犹豫。