Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON对象传递给代码隐藏文件_Javascript_C#_Asp.net_Asp.net Ajax - Fatal编程技术网

Javascript 将JSON对象传递给代码隐藏文件

Javascript 将JSON对象传递给代码隐藏文件,javascript,c#,asp.net,asp.net-ajax,Javascript,C#,Asp.net,Asp.net Ajax,我使用ajax将JSON对象从javascript函数传递到C#中的代码隐藏文件(.cs),代码如下: function buildProfile(user) { alert('user data'); $.ajax({ type: 'POST', url: '/Test.aspx/GetCity', data: "{city

我使用ajax将JSON对象从javascript函数传递到C#中的代码隐藏文件(.cs),代码如下:

 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.aspx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}
 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.ascx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}
在上面的代码中,控件将成功地将Test.aspx.cs代码隐藏文件添加到方法名“GetCity”中

我可以将JSON对象传递给用户控件而不是页面吗?例如,我可以创建一个名为Test的用户控件,并将上述代码的url更改为:url:“/Test.ascx/GetCity”,代码将如下所示:

 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.aspx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}
 function buildProfile(user) {

            alert('user data');
            $.ajax({
                    type: 'POST',
                    url: '/Test.ascx/GetCity',
                    data: "{city:" + JSON.stringify(user) + "}",
                    //data: JSON.stringify(user),
                    contentType: 'application/json; charset=utf-8',
                    dataType: 'json',
                    success: function (r) {
                        alert(r.d.Name);
                    }
                });
}
目前,控件不会进入user control Test.aspx.cs代码隐藏文件。是否可以将JSON对象传递给用户控件


任何帮助都将不胜感激。提前谢谢。

不确定我是否正确地满足了您的需求,但几个月前我也有类似的需求,也许这个链接可以帮助您(请参阅Ajith S Nair的评论):

如果您将他的扩展与类似于ajax代码的东西结合起来,这可能就是您的解决方案:

!function ($) {
"use strict";
$.ajax({
    type: "POST",
    url: "/ControllerName/MethodName",
    data: "{city:" + JSON.stringify(user) + "}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {//Success code},
    failure: function (response) {//Failure code},
    error: function (response) {//Error code}
})};

我希望有帮助

你确定你的
URL
/Test.ascx/GetCity
吗?请考虑一下D-Shih的评论。