【问题标题】:Passing JSON objet to Code Behind file将 JSON 对象传递给代码隐藏文件
【发布时间】:2018-12-23 08:53:11
【问题描述】:

我使用 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);
                    }
                });
}

在上面的代码中,控件成功地转到了方法名称“GetCity”的Test.aspx.cs 代码隐藏文件。

我可以将 JSON 对象传递给用户控件而不是页面吗?比如我可以创建一个名为Test的用户控件,并将上面代码的url改为:url:'/Test.ascx/GetCity',代码会变成如下:

 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 代码隐藏文件。是否可以将 JSON 对象传递给用户控件?

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

【问题讨论】:

  • 你确定你的URL/Test.ascx/GetCity吗?
  • 想一想D-Shih的评论。

标签: javascript c# asp.net asp.net-ajax


【解决方案1】:

不确定我是否满足您的需求,但几个月前我也有类似的需求,也许此链接可以提供帮助(请参阅 Ajith S Nair 评论):https://forums.asp.net/t/2022191.aspx?How+to+create+a+user+control+in+MVC

如果您将他的扩展与类似于您的 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}
})};

希望对你有帮助!

【讨论】:

    猜你喜欢
    • 2014-12-28
    • 2019-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-21
    • 2011-01-10
    • 1970-01-01
    • 2020-03-21
    相关资源
    最近更新 更多