.Net Ajax局部刷新局部刷新消息数目小示例

该处是拿局部刷新消息数目来做示例:
-----------------------------------------前端页面代码-----------------------------------------------

                <table>
                    <tr>
                        <td>
                            <img id="ImgMsg" alt="消?息¡é" title="消?息¡é" src="Images/Index/msg.ico" onclick="$('#ifrMain').attr('src','Msg/MsgNotRead.aspx');" />
                        </td>
                        <td>
                            <asp:Label ID="LabMsgNum" runat="server" Style="color: Red; font-size: small;">0</asp:Label>
                        </td>
                        <td>
                            &nbsp;&nbsp;
                        </td>
                        <td>
                            <table>
                                <tr>
                                    <td>
                                        <img alt="登Ì?陆?人¨?" title="登Ì?陆?人¨?" src="Images/Index/User.ico" />
                                    </td>
                                    <td>
                                        <asp:Label ID="LabUser" runat="server" Style="color: Green; font-size: small;"></asp:Label>
                                    </td>
                                </tr>
                            </table>
                        </td>
                        <td>
                            &nbsp;&nbsp;
                        </td>
                        <td>
                            <img alt="首º¡Á页°3" title="首º¡Á页°3" src="Images/Index/sy.gif" onclick="$('#ifrMain').attr('src','SystemSet/Main.aspx');" />
                        </td>
                        <td>
                            &nbsp;&nbsp;
                        </td>
                        <td>
                            <asp:ImageButton ID="BtnExit" runat="server" ToolTip="退ª?出?" ImageUrl="Images/Index/tc.jpg"
                                OnClick="BtnExit_Click" />
                        </td>
                    </tr>
                </table>
------------------------------------javascript代码-------------------------------------------------------

<script language="javascript" type="text/javascript">
    //每?2000毫¨¢秒?加¨®载?一°?次ä?,刷¡é新?消?息¡é数ºy目?
    window.setInterval("MsgNum()", 2000);
    //刷¡é新?消?息¡é数ºy目?
    function MsgNum() {
        $.ajax({
            type: 'POST', //用®?POST方¤?式º?传ä?输º?
            dataType: 'json', / http://www.pprar.com
            url: 'Msg/MsgHandler.ashx', //目?标À¨º地Ì?址¡¤
            data: '',
            //接¨®收º?数ºy据Y完ª¨º毕À?
            success: function (json) {
                //未¡ä读¨¢消?息¡é数ºy目?大䨮于®¨²0,则¨°赋3值¦Ì,ê?并¡é替¬?换?图ª?片?
                if (json.notReadNum != '0') {
                    $("#LabMsgNum").html(json.notReadNum);
                    $("#ImgMsg").attr('src', 'Images/Login/User.jpg'); //动¡¥态¬?的Ì?flash
                }
                else {
                    $("#LabMsgNum").html(json.notReadNum);
                    $("#ImgMsg").attr('src', 'Images/Index/msg.ico'); //静2态¬?的Ì?图ª?片?
                }
            }
        });
    }
</script>
------------------------------------------ashx代码------------------------------------------------------
using System;
using System.Web;
using System.Web.SessionState;

public class MsgHandler : IHttpHandler, IRequiresSessionState
{
    string json = string.Empty; //返¤¦Ì回?给?js页°3面?的Ì?结¨¢果?,ê?用®?于®¨²判D断?
    int result = 0; //查¨¦询¡¥结¨¢果?
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        //访¤?问¨º数ºy据Y库a,ê?获?取¨?未¡ä读¨¢消?息¡é数ºy目?
        MsgClass msg = new MsgClass();//消?息¡é对?象¨®
        json = "{\"notReadNum\":\"" + msg.GetMsgNotReadNum() + "\"}";
        context.Response.Write(json);
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}

 

posted @ 2014-09-22 12:25  小张2020  阅读(147)  评论(0编辑  收藏  举报