<script language="javascript" type="text/javascript">
var flag=false;
function AnounceShow()
...{
flag=false;
var uid=GE("Anounce_Uid").innerText;
if(uid.length>0)
...{
AnounceService.GetAnounce(uid,AnounceComplete,onFailed);
}
}
function AnounceComplete(result)
...{
var o=$get("Anounce_List");
var ss=o.innerHTML;
if(result==null||result.rows==null)
...{
window.close();
}
else
...{
var valstr="";
for(var i=0;i<result.rows.length;i++)
...{
valstr+=String.format("<img src='Images/Arrow1.gif' width='7' height='7' align='absmiddle'> <a href="javascript:WOTurnToUrl('Anounce_Menu.aspx','Anounce_Main.aspx?id={0}');">{1}</a><br>",result.rows[i].A_Id,result.rows[i].A_Title);
}
if(ss!=valstr)
...{
o.innerHTML=valstr;
}
flag=true;
document.body.focus();
}
}
function onFailed(error) ...{
// 取得异常信息
var stackTrace = error.get_stackTrace();
var message = error.get_message();
var statusCode = error.get_statusCode();
var exceptionType = error.get_exceptionType();
var timeout = error.get_timedOut();
// 显示异常信息
$get("Anounce_List").innerHTML =
"<strong>Stack Trace: </strong>" + stackTrace + "<br/>" +
"<strong>Service Error: </strong>" + message + "<br/>" +
"<strong>Status Code: </strong>" + statusCode + "<br/>" +
"<strong>Exception Type: </strong>" + exceptionType + "<br/>" +
"<strong>Is Timeout: </strong>" + timeout;
}
</script>
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="AnounceService.asmx" />
</Services>
</asp:ScriptManager>
<div id="Anounce_Uid" runat="server" class="disnone"></div>
<div class="Articletitle"><img src="Images/user.gif" width="16" height="16" hspace="2">您好!您有未查看的通知!</div>
<div id="Anounce_List" class="showlist">
</div>AnounceService.asmx文件的后台代码如下:在类前需注明 [ScriptService]以及方法注明 [ScriptMethod]
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
public class AnounceService : System.Web.Services.WebService
...{
DAL_Anounce _anounce = new DAL_Anounce();
[WebMethod]
[ScriptMethod]
public DataTable GetAnounce(string uid)
...{
DataTable dt = new DataTable();
dt = _anounce.GetAnounce(uid);
return dt;
}
}
本文介绍了一个使用 ASP.NET AJAX 实现的弹出通知功能。通过 JavaScript 和 ASP.NET 后台服务交互,实现了获取特定用户的未读通知并动态更新页面的功能。当用户登录系统后,能够立即看到其未读的通知列表。
215

被折叠的 条评论
为什么被折叠?



