Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Json 通过jqueryajax将模型从视图传递到vocontroller_Json_Ajax_Asp.net Mvc 4 - Fatal编程技术网

Json 通过jqueryajax将模型从视图传递到vocontroller

Json 通过jqueryajax将模型从视图传递到vocontroller,json,ajax,asp.net-mvc-4,Json,Ajax,Asp.net Mvc 4,我试图将Json数据从视图传递到控制器,但由于某些原因,它不想工作。当我调试控制器时,我的模型显示为null,我一辈子都不知道为什么 这是我的控制器: public JsonResult UpdateVideoUrl(List<GetUrlData> model) { //var UpdateUrls = new AppServices.Video.UpdateAllVideo(); //var loginVideoUrl =

我试图将Json数据从视图传递到控制器,但由于某些原因,它不想工作。当我调试控制器时,我的模型显示为null,我一辈子都不知道为什么

这是我的控制器:

        public JsonResult UpdateVideoUrl(List<GetUrlData> model)
    {
        //var UpdateUrls = new AppServices.Video.UpdateAllVideo();
        //var loginVideoUrl = model.ToString();
        //dynamic update = UpdateUrls.Execute(model);
        return Json(model);
    }
我的模型是:

    public class ApplicationVideoModel
{
    public List<GetUrlData> GetUrlData { get; set; }
}

public class GetUrlData
{
    public GetUrlData(string englishurl, string spanishurl)
    {
        EnglishVideoUrl = englishurl;
        SpanishVideoUrl = spanishurl;
    }
    public string EnglishVideoUrl
    {
        get;
        set;
    }
    public string SpanishVideoUrl
    {
        get;
        set;
    }
}
公共类应用程序视频模型
{
公共列表GetUrlData{get;set;}
}
公共类GetUrlData
{
公共GetUrlData(字符串englishurl、字符串spanishurl)
{
EnglishVideoUrl=英语;
SpanishVideoUrl=spanishurl;
}
公共字符串EnglishVideoUrl
{
得到;
设置
}
公共字符串SpanishVideoUrl
{
得到;
设置
}
}

我在这里忽略了什么?

模型为空,因为您将一个对象转换为,而不是对象列表

如果将post方法中的参数更改为:

public JsonResult UpdateVideoUrl(GetUrlData model)
{
    return Json(model);
}
那么模型就不会为空

如果需要发送列表作为参数,则必须对对象数组进行字符串化,如下所示:

var model = [{
    'Model.LoginFiles.EnglishVideoURL': $("#LoginEnVideoInput").val(),
    next properties
            },
            {
    second object
            }]

是的,这就是问题所在。谢谢
var model = [{
    'Model.LoginFiles.EnglishVideoURL': $("#LoginEnVideoInput").val(),
    next properties
            },
            {
    second object
            }]