2012-01-17 42 views
1

我有一個項目,最初沒有使用ajax。現在我想讓頁面ajax啓用。我所做的就是安裝ajaxToolkit,並從支持ajax的網站中將web.config內容替換爲另一個。我加入腳本管理:Asp.net ajax pagemethods不工作

<form id="Form1" runat="server"> 
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True" EnableScriptGlobalization="True" /> 

我在cs文件的方法是這樣的

[WebMethod] 
public static string[] CheckRating(string[] details) 
{ 
    string[] result = new string[] { "AAAAAAAAAAA", "" }; 
    return result; 
} 

我的Java腳本函數:

function someName() { 

     var details = new Array(); 
     details[0] = $("#HiddenFieldUsername").val(); 
     details[1] = "5310005003117"; 
     PageMethods.CheckRating(details, ss1, ss2); 
    } 
    function ss1(result, userContext, methodName) 
    { 
     $("#user_rating").show(); 
     $("#user_rating_text").html("Error User ratinh"); 
     alert("Sorry"); 
    } 
    function ss2(error, userContext, methodName) { 
     $("#user_rating").show(); 
     $("#user_rating_text").html("Error User ratinh"); 
     alert("Sorry"); 
    } 

問題是,當它得到這裏: PageMethods.CheckRating(details,ss1,ss2); 沒有任何反應。沒有執行ss1或ss2中的代碼...... java腳本停止工作。

回答

1

怪異,以下Web窗體工作完全正常,我:

<%@ Page Language="C#" %> 
<%@ Import Namespace="System.Web.Services" %> 
<script type="text/C#" runat="server"> 
    [WebMethod] 
    public static string[] CheckRating(string[] details) 
    { 
     string[] result = new string[] { "AAAAAAAAAAA", "" }; 
     return result; 
    } 
</script> 
<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 
    <form id="Form1" runat="server"> 
     <asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True" EnableScriptGlobalization="True" /> 
    </form> 

    <script type="text/javascript"> 
     var details = new Array(); 
     details[0] = 'foo'; 
     details[1] = 'bar'; 
     PageMethods.CheckRating(details, ss1, ss2); 

     function ss1(result, userContext, methodName) { 
      alert(result[0]); 
     } 
     function ss2(error, userContext, methodName) { 
      alert("Error"); 
     } 
    </script> 
</body> 
</html> 

也許你可以使用JavaScript調試工具,如螢火看到封面和正在發送的實際AJAX請求下會發生什麼以及迴應。

+0

它說: 對象不支持屬性或方法'CheckRating' – ice 2012-01-19 22:22:16

+0

我剛在Visual Studio中創建了一個新的Web站點,並在其中複製了相同的代碼。它現在有效。 – ice 2012-09-12 20:20:08