我试图用我从Javascript获得的数据调用控制器中的动作。调用Action,但Model参数中的所有变量都保持为“null”。
在javascript中我调用控制器动作,并将数据对象作为json对象放入,其变量与模型相同。
使用Javascript:
...........
attachments.push(
{
"Name": a.name,
"MimeType": a.type,
"File": a.data,
"Size": a.size
});
var new_message = {
Title: $('#sendSubject').val(),
Body: $('#sendContent').val(),
Receiver: $("#topicTo").val(),
Attachments: attachments
}
$.ajax({
url: 'MAjax/AddMessage',
type: 'post',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(new_message)
})
控制器:
public ActionResult AddMessage(MessageModel message) <--- message's variables are null
{
....
}
型号:
public class MessageModel
{
public string ConversationId;
public string Title;
public string Body;
public string Receiver;
public List<AttachmentModel> Attachments;
}
所有变量似乎都匹配,但是当代码到达控制器操作时,MessageModel上的所有变量都为空,怎么可能呢?
似乎无法弄清楚我做错了什么