在 web應用中,比如OA中,經常要用到一些提示,比如EMAIL到達了,就做個象MSN那樣的提示框,彈出給用戶提示,然後再關閉。在asp.net 2.0的ajax中,這個現在不難做到了,剛好看到老外的一篇文章,講解到,下面小結之
比如有個數據庫表,是存放EMAIL的,當數據庫表中的EMAIL一有的時候,就提示用戶,首先簡單寫一個WEBSERVICE如下
[ScriptService]
public class InboxService : System.Web.Services.WebService
{
[WebMethod]
public int GetLatestNumberOfEmails()
{
int numberOfEmails = 0;
using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings[0].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand("GetLatestNumberOfEmails", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
conn.Open();
numberOfEmails = (int)cmd.ExecuteScalar();
}
}
return numberOfEmails;
}
}
這裡要注意要在客戶端通過AJAX調用WEBSERICE,要加上[ScriptService]
2 在default.aspx中,首先加入一個updateprogress控件,如下
<asp:UpdateProgress DynamicLayout="False" ID="UpdateProgress1" runat="server">
<ProgressTemplate>
<div id="modal" class="modal">
<div class="modalTop">
<div class="modalTitle">My Inbox</div>
<span style="CURSOR: hand" onclick="javascript:HidePopup();">
<img alt="Hide Popup" src="App_Themes/Default/images/close_vista.gif" border="0" />
</span>
</div>
<div class="modalBody">
You received <strong><span id="modalBody"></span></strong> Email(s).
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>