博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp.net仿msn实时弹出消息[转载]

Posted on 2011-06-09 09:29  itcfj  阅读(266)  评论(0编辑  收藏  举报

最近公司要完成一个实时弹出消息的功能。在网上找到一个第三方控件popupwin,该控件弹出窗口与msn的好友弹出窗口一样,效果挺不错的。大家可以结合timer控件实时获取数据,有选择的弹出小窗口。

Popupwin+Ajax异步刷新

先在页面注册该控件

<%@ Register Assembly="EeekSoft.Web.PopupWin" Namespace="EeekSoft.Web" TagPrefix="cc1" %>

在页面加入2个updatapanel 和1个scriptmanager

                    <asp:ScriptManager ID="ScriptManager1" runat="server" />
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>
                            <font color="red">当前消息数:</font><asp:Label ID="lbshow" runat="server" ForeColor="red"></asp:Label>
                                <cc1:PopupWin ID="pw" runat="server" ColorStyle="red" Title="欢迎您登陆管理页面" DragDrop="False"
                                    Height="109px" Width="158px" AutoShow="true" ActionType="RaiseEvents" Visible="false"
                                    DockMode="BottomRight"></cc1:PopupWin>
                            </ContentTemplate>
                        </asp:UpdatePanel>
                        <asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
                            <ContentTemplate>
                                <asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="30000" Enabled="true">
                                </asp:Timer>
                            </ContentTemplate>
                        </asp:UpdatePanel>

接下来就需要通过C#来控制popupwin 了

 try
                {
                    T1.Enabled = false;

                    popupw.Visible = true;
                    popupw.HideAfter = -1;
                    popupw.AutoShow = true;
                    string msg = "";

                    msg += "<a href=\"Inspector_Monitor\\ReportDetail.aspx?id=1 "\" target=\"mainFrame\">" </a><br />";
                    
                    popupw.Message = msg;
                    popupw.Title = "有新的消息";
                    popupw.ColorStyle = EeekSoft.Web.PopupColorStyle.Red;
                    popupw.DockMode = EeekSoft.Web.PopupDocking.BottomRight;
                    pw.Visible = true;
                    popupw.WindowScroll = true;
                    popupw.Visible = true;
                    Session["CurTime"] = DateTime.Now.ToString();
                }
                finally
                {
                    T1.Enabled = true;
                }