在web開發中,我們會經常用到一些提示,比如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)) Chinaz_com
{
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();"> Www_Chinaz_com
<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>
這裡的關閉X按鈕,調用javascript的指令碼,等陣再說
然後當然要加scriptmanager控制項了,如下
以下為引用的內容:
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Services>
<asp:ServiceReference Path="~/InboxService.asmx" />
</Services>
</asp:ScriptManager>
這裡調用了我們剛才寫的webservice
之後是寫script了
http://www.itwis.com/html/net/net20/list_21_2.html