ASP.NET AJAX 呼叫網頁的靜態函式及Web Service

摘要:ASP.NET AJAX 呼叫網頁的靜態函式及Web Service

頁面靜態函式呼叫:
要能夠呼叫頁面的靜態函式要滿足幾個條件,
  1. 函式必須是靜態函式。
  2. 函式必須加上WebMethodAttribute。
  3. ScriptManager的EnablePageMethods屬性的值必須為True。

script端的呼叫函式方法為,PageMethods.函式名稱(參數1, 參數2, 成功時的Callback, 失敗的Callback, UserContext)

成功的Callback函式簽名為,函式名稱(回傳值, UserContext, 呼叫的函式名稱)
失敗的Callback函式簽名為,函式名稱(錯誤描述物件)

Web Service呼叫
要能夠呼叫Web Service要滿足幾個條件,

  1. Service類別需要加入ScriptServiceAttribute。
  2. Service要公開的方法需要有WebMethodAttribute。
  3. 在ScriptManager的ServiceReference加入服務的Url。
  4. Web Service不能跨網域。

script端的呼叫函式方法為,服務名稱.函式名稱(參數1, 參數2, 成功時的Callback, 失敗的Callback, UserContext)

成功的Callback函式簽名為,函式名稱(回傳值, UserContext, 呼叫的函式名稱)
失敗的Callback函式簽名為,函式名稱(錯誤描述物件)

呼叫時,預設會使用SOAP,如果要使用JSON需要在WebConfig上去除呼叫的通訊協定。

  <webServices>
   <protocols>
    <clear />
   </protocols>
  </webServices>