2017年3月30日 星期四

利用PageMethod,從JS執行CodeBehind函式

1.必要條件:
        a.加入ScriptManager控制項,EnablePageMethods屬性設為True
        b.此函式必須加上[System.Web.Services.WebMethod]
        c.必須宣告為靜態 Static
        d.JS使用PageMethods物件呼叫伺服器端函式。

2.範例
  2.1 ASPX:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true"></asp:ScriptManager>
2.2 CodeBehind:
      [System.Web.Services.WebMethod]
        public static string GetServerTime(string format)
        {
            return DateTime.Now.ToString(format);
        }
2.3 JS:
     //呼叫伺服端函式
     PageMethods.GetServerTime("yyyy/MM/dd HH:mm:ss", onSuccess, onError);
   
     //成功時取出內容  
     function onSuccess(Data) {
        var data = Data;
    }
 
     / /失敗時彈出失敗訊息
    function onError(error) {
        if (error != null)
            alert(error);
    }

沒有留言: