我正在使用MVC .Net网络应用。我试图将数据发回给控制器。这是我正在使用的Javascript / Angularjs。
$http({
method: 'POST',
url: 'Save',
data: JSON.stringify($scope.data[0]),
headers: { 'Content-Type': 'application/json' }
})
当我在小提琴手中看到这个时,我看到以下内容(为简洁而缩短)
{"BL_BASIC_DDL":"","BL_BASIC_TB":"Foo Bar","BL_BASIC_NB":""}
但是当我尝试在我的C#中获取它时,我得到一个空对象或一个字典,其中包含调用的控制器和操作名称,没有其他内容。以下是我尝试失败的操作签名列表。我返回的数据是高度动态的,将被解析,因此静态类型对象不是我拍摄的。
public JsonResult Save(string values);
// values == null
public JsonResult Save(List<KeyValuePair<string, string>> values);
// values == null
public JsonResult Save(List<Tuple<string, string>> values);
// values == null
public JsonResult Save(Dictionary<string, string> values);
// values != null
// values.Count == 2
// values["controller"] = "Coverages"
// values["action"] = "Save"
public JsonResult Save(object values);
// values != null
// values is unknown type, no data appears accessible
public JsonResult Save(dynamic values);
// values != null
// values is unknown type, no data appears accessible
public JsonResult Save(FormCollection values);
// values != not null
// values.Count == 0
public JsonResult Save([System.Web.Http.FromBody]string values);
// values == null
public JsonResult Save([System.Web.Http.FromBody]List<KeyValuePair<string, string>> values);
// values == null
public JsonResult Save([System.Web.Http.FromBody]List<Tuple<string, string>> values);
// values == null
public JsonResult Save([System.Web.Http.FromBody]Dictionary<string, string> values);
// values != null
// values.Count == 2
// values["controller"] = "Coverages"
// values["action"] = "Save"
public JsonResult Save([System.Web.Http.FromBody]object values);
// values != null
// values is unknown type, no data appears accessible
public JsonResult Save([System.Web.Http.FromBody]dynamic values);
// values != null
// values is unknown type, no data appears accessible
public JsonResult Save([ModelBinder(typeof(DictionaryModelBinder))] Dictionary<string, string> values); // example I found online but still did not work
// values != null
// values.Count == 2
// values["controller"] = "Coverages"
// values["action"] = "Save"
我试着看看我是否可以在请求对象中找到原始数据,但我也没能这样做。我试图找到这个问题的解决方案时发现的ModelBinder绑定器示例。不幸的是,它发现的只是控制器和动作名称。
对于我可能出现的问题或如何获取数据,有人会对我提出任何建议吗?
谢谢!