码迷,mamicode.com
首页 > Web开发 > 详细

asp.net 右下角弹出新提醒信息提示框

时间:2015-01-07 22:14:20      阅读:285      评论:0      收藏:0      [点我收藏+]

标签:

asp.net 开发信息系统,无论是OA或者是其它业务系统中,都会用到新信息提醒功能,特此将方案跟大家分享一下。先上一图给大家看一看:

技术分享


优点:1)、该新消息弹出提示框样式算是比较不错的,个人认为。

           2)、弹出框内的信息内容、提醒的个数、点击链接页面都封装在PopMessage.js中,你无须修改。

           3)、使用简单,你只要根据你的需要修改PopMessageHandler.ashx,获取你需要提醒的数据即可。

           4)、页面引用简单,易懂。


下面讲述实现过程:

1、在你的Web项目中根目录中添加Common文件夹,里面包括图片、js脚本和一般处理函数,请点击下载:http://download.csdn.net/detail/taomanman/8338479

这个目录结构如下:

技术分享


2、根据你的需要修改PopMessageHandler.ashx文件,现将代码罗列出来,你需要根据你的实际业务逻辑进行修改:

<%@ WebHandler Language="C#" Class="PopMessageHandler" %>

using System;
using System.Data;
using System.Text;
using System.Web;
using System.Web.SessionState;
using System.Web.Script.Serialization;

public class PopMessageHandler : IHttpHandler, IRequiresSessionState
{

    /// <summary>
    /// 待办任务总数
    /// </summary>
    int totalTaskCount = 0;

    public void ProcessRequest(HttpContext context)
    {
        try
        {
            context.Response.ContentType = "text/plain";
            //获取任务数据
            string strSQL = "select * from v_getTipsCount"; 
            DataSet ds = SqlHelper.ExecuteDataSet(SqlHelper.LocalSqlServer, strSQL);
            if (ds != null)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataTable dt = ds.Tables[0];

                    int count1 = int.Parse(dt.Rows[0]["count1"].ToString());
                    int count2 = int.Parse(dt.Rows[0]["count2"].ToString());
                    int count3 = int.Parse(dt.Rows[0]["count3"].ToString());
                    int count4 = int.Parse(dt.Rows[0]["count4"].ToString());
                    int count5 = int.Parse(dt.Rows[0]["count5"].ToString());
                    totalTaskCount = count1 + count2 + count3 + count4 + count5;

                    if (totalTaskCount > 0)
                    {
                        var testData = new object[] {
                            new {
                                description = "新增人员数提醒-新增审核通过数提醒-减员人数提醒-服务费新增数提醒-过期未交费数提醒",
                                count= count1.ToString()+"-"+ count2.ToString() +"-"+count3.ToString()+"-"+ count4.ToString() +"-"+count5.ToString(),
                                href="PersonnelManagement/PersonnelList.aspx" +"-"+"PersonnelManagement/PersonnelList.aspx"+"-"+"PersonnelManagement/ReducePersonnelList.aspx"+"-"+"PersonnelManagement/PersonnelFeeList.aspx"+"-"+"FinancialManagement/FinanceRecord.aspx"
                            },
                       };

                        JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
                        //执行序列化
                        context.Response.Write(jsonSerializer.Serialize(testData));
                    }
                }
            }
        }
        catch (Exception e)
        {
            
        }
    }

    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}


3、在你系统的主页面中添加js引用、html元素和js函数,如下,当然jquery.js也要添加,下面代码中就不写了,注意要添加哦:

<script src="Common/PopMessage/PopMessage.js" type="text/javascript"></script>
<script language="JavaScript" type="text/javascript">
      //弹出消息提醒框
      var pop;
      function popMessage() {
          pop = new PopMessage();
          //当有提醒时,每隔15秒出现一次,当没有需要提醒的消息时,提醒框不会出现
          pop.show(15000, "mainIframe"); 
      }

      $(function () {
          //页面初始加载时执行弹出框
          popMessage();
     });
 </script>

网页中使用iframe来作为页面的容器,如下:

<div id="ContentPannel">
       <iframe id="mainIframe" name="mainIframe" height="100%" width="100%" src=http://www.baidu.com frameborder="0"></iframe>
</div>


4、完成以后的效果如下图:

技术分享

点击蓝色部分,可以直接跳转到对应要处理的页面。




??

asp.net 右下角弹出新提醒信息提示框

标签:

原文地址:http://blog.csdn.net/zdw_wym/article/details/42500069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!