Skip to main content
 首页 » 编程设计

c#之Web方法错误

2024年02月03日28虾米姐

当我使用 jquery 调用此服务器端函数时,出现“NetworkError: 500 Internal Server Error - http://localhost:5963/default.aspx/Call”

<html> 
    <head> 
        <script src="scripts/jquery-1.2.6-vsdoc.js" type="text/javascript"></script> 
        <script type="text/javascript"> 
            $(document).ready(function () { 
                $("#btn").click(function () { 
                    $.ajax({ 
                        type: "POST",`enter code here` 
                        url: "default.aspx/Call", 
                        data: "{}", 
                        contentType: "application/json; charset=utf-8", 
                        async: true, 
                        dataType: "json", 
                        success: function (msg) { 
                            alert("sdsd"); 
                        } 
                    }); 
                }); 
            }); 
 
        </script> 
    </head> 
    <body> 
        <form id="form1" runat="server"> 
            <asp:RadioButton  runat="server" ID="btn" Text="A" /> 
        </form> 
    </body> 
</html> 

[System.Web.Services.WebMethod] 
[System.Web.Script.Services.ScriptMethod] 
public static void Call(string value) 
{ 
    var x = value; 
} 

请您参考如下方法:

首先,此脚本不会返回任何内容,因为您使用了错误的服务器控件 ID。呈现服务器控件时,它的 id 会发生变化。 尝试使用:

$("#<%=btn.ClientID %>") 

你还有一个问题。您正在调用重载的 Web 方法,因此您需要传递一些数据:

data: "{'value': 'somevalue'}", 

希望这会有所帮助。