我正在尝试使用 Scott Guthrie 在他的博客中谈到的 MVC 3 中的新 JSON ModelBinders 。
我的示例与他使用的示例非常相似。我有一个具有 3 个值的模型,我试图将其发布到服务器。
该模型如下所示:
public class CommentViewModel
{
public string Product { get; set; }
public string Text { get; set; }
public string Author { get; set; }
}
JavaScript 看起来像这样:
$("#addComment").click(function () {
var comment = {
Product: $("#productName").html(),
Text: $("#comment").val(),
Author: $("#author").val()
};
alert("value=" + JSON.stringify(comment));
$.ajax({
url: "/Home/Add",
type: "POST",
data: JSON.stringify(comment),
datatype: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
}
});
});
控制器动作如下所示:
[HttpPost]
public ActionResult Add(CommentViewModel comment)
{
// ...
}
我收到的警报(JavaScript 帖子中的那个)给了我这样的信息:
value={"Product":"Classic","Text":"the comment","Author":"me"}
我期望模型中的属性在服务器上填充,但所有属性都是空的。我正在使用 ASP.NET MVC 3 Preview 1。