C# ASP.NET Ajax jquery输入参数为空

C# ASP.NET Ajax jquery输入参数为空,c#,jquery,asp.net,ajax,C#,Jquery,Asp.net,Ajax,我对此有问题。 下面是我的jquery代码和aspx.cs代码。 我应该将$('#UserID').val()作为参数发送到WebMethod。 但在WebMethod中,它总是空的。 如果我将$('#UserID').val()更改为任何字符串,它会正常工作。 #UserID正确。因为我用这个值创建了一个警报窗口。 和。。我已经更改了数据:“{userId:”+$(“#userId”).val()+“}”, 到数据:JSON.stringify({userId:$('#userId').val

我对此有问题。
下面是我的jquery代码和aspx.cs代码。
我应该将
$('#UserID').val()作为参数发送到WebMethod。
但在WebMethod中,它总是空的。
如果我将
$('#UserID').val()
更改为
任何字符串
,它会正常工作。
#UserID
正确。因为我用这个值创建了一个警报窗口。
和。。我已经更改了
数据:“{userId:”+$(“#userId”).val()+“}”,

数据:JSON.stringify({userId:$('#userId').val()})

但什么都不管用

 $.ajax({
    url: "register.aspx/IsIdAvailable",
    type: "post",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: '{userId: "' + $('#UserID').val() + '"}',
    dataFilter: function (data) {
        var msg = JSON.parse(data);
        if (msg.hasOwnProperty('d'))
            return msg.d;
        else
            return msg;
    }
})


输出总是
userId:

尝试将数据属性更改为以下内容:

data: {'userId': $("#UserID").val()}

显然,
$('#UserID').val()
为空。你能试试这个:
alert($('#UserID').val())?在浏览器调试控制台中查看网络请求,以查看它是如何发布到服务器端代码的。您不需要单引号。改为:data:{userId:$('#userId').val()},你们说的我都做了。但它不起作用。但是谢谢大家。您在脚本中编写了
register.aspx/isidavaailable
,而在C#中编写了
test
。这里的复制粘贴是错误的吗?
data: {'userId': $("#UserID").val()}