以下屏幕截图显示了我正在发送的数据(在 firefox 中显示为 firebug)。下面的代码然后显示了 ajax 方法调用的方法。在点击服务器端方法调用时正确填充了 Date 和 Id 属性,但我的数组(CustomerRequests 类型)里面没有值,但是帖子中的 CustomerRequests 的数量是正确的。
有任何想法吗?谢谢
我的控制器方法
public ActionResult Show(Customers request)
{
..
// Number of request.CustomerRequests is correct
// Although request.CustomerRequests[0].Name == null ?? which is wrong
客户等级如下:
[DataContract]
public class Customers
{
[DataMember]
public CustomerRequests[] CustomerRequests{ get; set; }
[DataMember]
public DateTime Date { get; set; } // I can see this value
[DataMember]
public int Id{ get; set; } // I can see this value
}
[DataContract]
public class CustomerRequests
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Expression { get; set; }
}
Javascript
$('textarea').each(function () {
var theName = 'The Name';
var theExpression = 'The Expression';
var obj = {
'Name': theName,
'Expression': theExpression
};
expressionArray.push(obj);
}); // close each
// val is the posted data
var val = {
'Id': '1',
'Date': '2013-10-10',
'CustomerRequests': $.makeArray(expressionArray)
};
我试过了,虽然没有用。
JSON.stringify({ Customers: val })