2010-11-30 80 views
9

我的Pagemethod實現在Chrome瀏覽器中不起作用。 我有ASP.NET 3.5 Web應用程序在VS 2008asp.net中的Pagemethods

開發低於Chrome或Safari不工作的代碼:

function FetchDataOnTabChange(ucName) 
{ 
    PageMethods.FetchData(ucName, OnSuccessFetchDataOnTabChange, OnErrorFetchDataOnTabChange); 
} 

function OnErrorFetchDataOnTabChange(error) 
{ 
    //Do something 
} 

function OnSuccessFetchDataOnTabChange(result) 
{ 
    //Do something 
} 
+0

是的,它在IE7及更高版本,Mozilla中運行得更好,但在Chrome和Safari中失敗。我不想對最後一個問題發表評論。 – Chetan 2010-11-30 12:11:32

+0

如果您需要回答,您需要發佈一些代碼 – 2010-11-30 13:43:05

回答

23

很抱歉的響應晚,但如果有一個關於這個版本絆倒,這應該在所有瀏覽器中按照以下步驟工作。

  • 頁面方法必須具有 System.Web.Services.WebMethod 屬性。 [WebMethod]
  • 頁面方法必須是公共的。 [WebMethod] public ...
  • 頁面方法必須是靜態的。 [WebMethod] public static ...
  • 頁面方法必須在 頁面(內聯或 代碼隱藏)上定義。無法在控制頁面,主頁面或基地頁面 頁面中定義 。
  • ASP.NET AJAX腳本管理器必須 將EnablePageMethods設置爲true。

這是從工作應用

aspx頁面:

/* the script manager could also be in a master page with no issues */ 
<asp:ScriptManager ID="smMain" runat="server" EnablePageMethods="true" /> 
<script type="text/javascript"> 
    function GetDetails(Id) { 
     PageMethods.GetDetails(doorId); 
    } 
</script> 

後面的代碼:

[System.Web.Services.WebMethod] 
public static void GetDetails(string Id) 
{ 

} 

祝你好運! :-)