ajax无刷新站内短信发送实例
实现:
1.下载AjaxPro.2.dll控件,将它引用到项目里。
2.修改配置文件web.config:
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
3.在页面中注册AJAX
namespace WebSite.Message
{
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
#region 注册无刷新
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));//Index为当前页面的类名
#endregion
}


{
public partial class Index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
#region 注册无刷新
AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));//Index为当前页面的类名
#endregion
}


4.编写前台调用的获取当前用户的新信息的方法
/// <summary>
/// 查看用户当前的收件箱
/// </summary>
/// <returns></returns>
[AjaxPro.AjaxMethod]
public string GetNewNote()
{
string sqlstr = "select count(0) from [demo] where IsReaded=0";
int i = (int)DAL.DbHelperSQL.GetSingle(sqlstr);
return i.ToString();
}
/// 查看用户当前的收件箱
/// </summary>
/// <returns></returns>
[AjaxPro.AjaxMethod]
public string GetNewNote()
{
string sqlstr = "select count(0) from [demo] where IsReaded=0";
int i = (int)DAL.DbHelperSQL.GetSingle(sqlstr);
return i.ToString();
}
5.前台页面中通过javascript设置定时函数来执行获取当前用户的收件箱新信息的数量
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="WebSite.Message.Index" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
setInterval("getNewNote()",6000);
function getNewNote()
{
WebSite.Message.Index.GetNewNote(call_back);
}
function call_back(res)
{
document.getElementById("tips").innerHTML = res.value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="tips">
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
setInterval("getNewNote()",6000);
function getNewNote()
{
WebSite.Message.Index.GetNewNote(call_back);
}
function call_back(res)
{
document.getElementById("tips").innerHTML = res.value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div id="tips">
</div>
</form>
</body>
</html>