【问题标题】:Sending nested array object to mvc controller gives null将嵌套数组对象发送到 mvc 控制器给出 null
【发布时间】:2017-05-22 19:17:49
【问题描述】:

我有以下:

selectedValues

的 javascript 中的数组结构

在 [0] 索引处包含数组 [0][1]

在 [1] 索引处包含数组 [0][1]

等等……

function OnSave()
{
var id =getvalue()
$.ajax({
type:"POST",
content:"application/json;charset=utf-8",
dataType:"JSON"
url:"....",
data: JSON.stringify({
id:id,
model:selectedvalues,
}),
success : function (data){
......
}
}

C#中的视图模型

public class ViewModel{
int id,
List<QuestionAnswer> QAs,

}

public QuestionAnswer
{
int Id;
string ans;

}

控制器方法:

public ActionResult Save( int id,List<ViewModel> model)

我能够在控制器方法中获取 id,但模型参数始终包含字段的空值。那么我做错了什么?

【问题讨论】:

  • 用户数据:[{ id:id, model:selectedvalues }],
  • 你是如何创建selectedvalues变量的?
  • Var selectedvalues= []

标签: c# json ajax asp.net-mvc


【解决方案1】:

阿贾克斯

 var QAsObj= {
                ans:"answerVal",
                Id:1

            };


var SendObject = {
           id:1,
        QAs: QAsObj,   //QAsObj same name as in Modal

            }
 $.ajax({
                method: 'POST',
                url: '/Controllername/Save',
                contentType: 'application/json',  // send data type to server
                dataType: 'json',  //return type of data from server
                data:JSON.stringify(SendObject),
                //  asyn: false,
                success: function (data, status, xhr) {

                    // do stuff here

                },
                error: function (response, status, xhr) {

                    alert(response.statusText);

                }
            })

控制器

public ActionResult Save( SaveViewModel model)

查看模型

    public class SaveViewModel{
int id,
List<QuestionAnswer> QAs,

}

public QuestionAnswer
{
int Id;
string ans;

} 

我希望这会正常工作,但您仍然面临错误,请在下方评论

【讨论】:

    猜你喜欢
    • 2013-09-26
    • 2014-02-28
    • 2011-08-19
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多