在asp.net中使用ajax访问C#方法?

在asp.net中使用ajax访问C#方法?,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,下面是我的C#和 JavaScript代码,我可以访问此方法,但没有得到预期的输出 从“成功”开始: 相反,它返回[object] Javascript: $.ajax({ type: "POST", url: "Home.aspx/UpdateSelectionStatus, data: '{id_ver: "' + id + '" }',

下面是我的C#和

JavaScript代码,我可以访问此方法,但没有得到预期的输出

从“成功”开始:

相反,它返回[object]

Javascript:

             $.ajax({
                type: "POST",
                url: "Home.aspx/UpdateSelectionStatus,
                data: '{id_ver: "' + id + '" }',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                cache: false,
                success: function(msg){alert(msg.d);},
                failure: function(){ }
            });
C#:

这就是问题所在:

  alert(msg.d);
直接使用msg即可:

  success: function (msg) {alert(msg); },

您返回了一个简单的字符串,而不是复杂的类型,因此您没有任何类似于“d”的属性。

请尝试下面的代码:它在我这边工作

 var vid = 10;
        $.ajax({
            type: "POST",
            url: "/Home.aspx/UpdateSelectionStatus",
            data: "{id_ver:'" + + vid + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert(data.d);
            }
        });

请从c#函数返回json值,如下返回“{\“success\”:\”+id\u ver+“\”;你调试过了吗?msg对象在chrome或firebug调试器中的外观如何?它是空的,还是有成员?如果它在成功回调中返回,那么c#代码和ajax调用就没有问题。问题出在回调中。
  success: function (msg) {alert(msg); },
 var vid = 10;
        $.ajax({
            type: "POST",
            url: "/Home.aspx/UpdateSelectionStatus",
            data: "{id_ver:'" + + vid + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert(data.d);
            }
        });
success: function( msg ){ 
    alert( msg.d.toString());  
}