asp.net 右下角彈出新提醒資訊提示框

暖楓無敵發表於2015-01-07

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也要新增,下面程式碼中就不寫了,注意要新增哦:

<title>asp.net右下角彈出資訊提醒框示例</title>
    <script src="js/jquery-1.4.2.min.js" type="text/javascript"></script>
    <script src="Common/PopMessage/PopMessage.js" type="text/javascript"></script>
    <script type="text/javascript">
        function resizediv() {
            var mainH =  $(window).height();
            document.getElementById("mainIframe").style.height = mainH - 30 + "px";
        }

        window.onload = resizediv;
        window.onresize = resizediv;

        //彈出訊息提醒框  
        var pop;
        function popMessage() {
            pop = new PopMessage();
            //當有提醒時,每隔5秒出現一次,當沒有需要提醒的訊息時,提醒框不會出現  
            pop.show(5000, "mainIframe");
        }

        $(function () {
            resizediv();
            //頁面初始載入時執行彈出框  
            popMessage();
        });  
 </script>


網頁中使用iframe來作為頁面的容器,如下:

      

<iframe id="mainIframe" name="mainIframe" height="100%" width="100%" src="main.aspx" frameborder="0"></iframe> 



4、完成以後的效果如下圖:

點選藍色部分,可以直接跳轉到對應要處理的頁面。


原始碼下載地址:

http://download.csdn.net/detail/taomanman/8342083


===========================================================================

如果覺得對您有幫助,微信掃一掃支援一下:







相關文章