2012-01-17 44 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