次のスクリーンショットは、送信しているデータを示しています (firefox の firebug で表示)。以下のコードは、ajax メソッドが呼び出すメソッドを示しています。サーバー側のメソッド呼び出しをヒットすると、Date プロパティと Id プロパティが正しく入力されますが、(CustomerRequests 型の) 私の配列には値がありませんが、投稿内の CustomerRequests の数は正しいです。
何か案は?ありがとう
My Controller メソッド
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 })