用Ajax實現擷取伺服器上的時間的簡單的例子

來源:互聯網
上載者:User

首先,要先引用一個類庫AjaxPro2.dll,

然後再頁面的後台代碼中註冊Ajax,並做一個ServerService的類,並在類的方法上貼上[AjaxMethod]的標籤

AjaxPro.Utility.RegisterTypeForAjax(typeof(ServerService));//註冊

ServerService類:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/// <summary>
/// ServerService 的摘要說明
/// </summary>

[System.Serializable]
public class SelectItem
{
    private string value;

    private string text;

 public string Text
 {
  get { return text;}
  set { text = value;}
 }

 public string Value
 {
  get { return value;}
  set { value = value;}
 }

}

public class ServerService
{
 public ServerService()
 {
  //
  // TODO: 在此處添加建構函式邏輯
  //
 }

    // 返回伺服器上的時間
    [AjaxPro.AjaxMethod]
    public string GetServerTime()
    {
        System.Threading.Thread.Sleep(6000);

        return DateTime.Now.ToLongTimeString();
    }

    [AjaxPro.AjaxMethod]
    public void Receive(string message)
    {
        System.Collections.Generic.List<string> list
                = HttpContext.Current.Application["Reply"] as System.Collections.Generic.List<string>;

        list.Add(message);
    }

    [AjaxPro.AjaxMethod]
    public string[] GetAllReply()
    {
        System.Collections.Generic.List<string> list
                = HttpContext.Current.Application["Reply"] as System.Collections.Generic.List<string>;
        return list.ToArray();
    }

    [AjaxPro.AjaxMethod]
    public SelectItem[] GetItems(string id)
    {
        // 產生類比的資料
        SelectItem[] items = new SelectItem[8];
        for (int i = 0; i < items.Length; i++)
        {
            items[i] = new SelectItem();
            items[i].Value = string.Format("{0}00{1}", id, i);
            items[i].Text = string.Format("項目 - {0}", i);
        }

        return items;
    }

}

 

放一個Global檔案:

<%@ Application Language="C#" %>

<script runat="server">

    void Application_Start(object sender, EventArgs e)
    {
        // 在應用程式啟動時啟動並執行代碼

        System.Collections.Generic.List<string> list
            = new System.Collections.Generic.List<string>();

        HttpContext.Current.Application["Reply"] = list;

    }
   
    void Application_End(object sender, EventArgs e)
    {
        //  在應用程式關閉時啟動並執行代碼

    }
       
    void Application_Error(object sender, EventArgs e)
    {
        // 在出現未處理的錯誤時啟動並執行代碼

    }

    void Session_Start(object sender, EventArgs e)
    {
        // 在新會話啟動時啟動並執行代碼

    }

    void Session_End(object sender, EventArgs e)
    {
        // 在會話結束時啟動並執行代碼。
        // 注意: 只有在 Web.config 檔案中的 sessionstate 模式設定為
        // InProc 時,才會引發 Session_End 事件。如果會話模式設定為 StateServer
        // 或 SQLServer,則不會引發該事件。

    }
      
</script>

 

頁面,要引用jQuery.min.js檔案:

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="button" value="擷取伺服器上的時間" onclick="getServerTime();" />
    </div>
    </form>
   
    <script type="text/javascript">
   
        function getServerTime()
        {
            /*
            // 同步方式
            var result = ServerService.GetServerTime();
            alert( result.value );
            */
           
            // 非同步方式
            ServerService.GetServerTime(
                function( result )
                {
                    alert( result.value );
                }
            );
           
        }
   
    </script>
   
</body>
</html>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.