如何将javascript对象从视图传递到控制器?

时间:2013-09-18 05:12:01

标签: asp.net-mvc jquery

我想将javascript对象从视图传递给控制器​​:

var test = { name: "Sydney", country: "AU" };
var tt = JSON.stringify(test);

$.ajax({
  url: '@Url.Action("getFeeList", "FeeControl")',
  type: "POST",
  data: { test: test },
  dataType: "html",
  success: function (FeeListResp, textStatus, jqXHR) {

  },
  error: function (jqXHR, textStatus, errorThrown) {
  },
  complete: function () {
  }
});

在控制器中:

public class Addr
{
  public string name { get; set; }
  public string country { get; set; }
}

[HttpPost]
public string getFeeList(Addr test)
{
  string nm = test.name;

  string j = new LoadItem(loadItemUnitWork, nm, 30, true, 0).GetItem(); 
  return j;
}

如果我传递数据:{test:test},在ajax中,test.name在控制器中为null。 如果我在ajax中传递数据:{test:tt},那么控制器中的测试为空。

如何解决问题?

谢谢。

1 个答案:

答案 0 :(得分:1)

var test = { name: "Sydney", country: "AU" };
        var tt = ko.toJS(test);

        $.ajax({
            url: '@Url.Action("getFeeList", "FeeControl")',
            type: "POST",
            data: tt,               
        });

我在这里使用过淘汰赛。