将$ .post中的空数据发送到控制器模型

时间:2016-09-09 08:05:40

标签: javascript c# jquery asp.net-mvc

我的模特 -

 public class Phasessfilter
{
    public string Searchterm {get;set;}
    public string ob1 {get;set;}
    public string ob2 {get;set;}
    public string ob3 {get;set;}
    public List<string> ob4 { get; set; }
    public List<string> ob5 { get; set; } 
}

控制器 -

  public JsonResult GtRlts(Phasessfilter jop)
    {
    }

这是我的剧本

    var recr = "";
    var study = "";
    var results = "";
    var phases1 = [];
    var fund = [];
  var values =  { Searchterm: Searchterm, ob1: recr, ob2: study, ob3: results, ob4: phases1, ob5: fund }

    $.post("GtRlts", values, function (abc) {

   }

所以我得到了Searchterm,ob1,ob2,ob3的值,但是我得到的是ob4和ob5的空值.Why是List没有取数组值还是我做错了什么。 P.S - 我不想使用$ .ajax

3 个答案:

答案 0 :(得分:3)

将模型更改为

public class Phasessfilter
{
    public string Searchterm {get;set;}
    public string ob1 {get;set;}
    public string ob2 {get;set;}
    public string ob3 {get;set;}
    public List<string> ob4 { get; set; }
    public List<string> ob5 { get; set; } 
    public Phasessfilter()
    {
        ob4 = new List<string>();
        ob5 = new List<string>();
    }
}

答案 1 :(得分:2)

嘿,编写的代码绝对没问题,您只需要测试其中的值,它就可以正常工作。

这里是示例Js代码

 var searchterm = "test1";
    var recr = "test2";
    var study = "test3";
    var results = "test4";
    var phases1 = ["Test5","Test6"];
    var fund = ["Test6", "Test7"];
    debugger;
    var values = { Searchterm: searchterm, ob1: recr, ob2: study, ob3: results, ob4: phases1, ob5: fund }

    $.post(path + "/Dashboard/Home/GtRlts", values, function (abc) {

    });

并且代码的参考其余部分的输出是相同的。

enter image description here

答案 2 :(得分:0)

你只是定义数组变量,所以它得到空值

var phases1 = [];
var fund = [];

您必须添加项

var phases1 = [1,2];
var fund = [3,4];