0
我在MVC3中将ViewModel绑定到json时遇到了问题。我非常简单的代码如下...JsonValueProvider在ASP.NET MVC3中不工作
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<% using (Html.BeginForm("Save", "Home")) {%>
<p>
Cat
</p>
<button id="clickMe" type="submit">Click Me</button>
<% } %>
<script type="text/javascript">
$(function() {
$('form').submit(function() {
var cat = {
Age: 5,
Weight: 13.5,
Name: 'Fluffy'
};
$.ajax({
url: '/home/save',
type: 'post',
data: JSON.stringify(cat),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
});
console.info(JSON.stringify(cat));
});
});
</script>
</asp:Content>
的console.info线印在Firebug的信息窗口,使脚本在正确的时间发射了。预期JSON也显示在萤火...
Source
{"Age":5,"Weight":13.5,"Name":"Fluffy"}
然而,当下面的视图模型进入下面的所有属性都没有设置的操作方法......
public class Cat
{
public int Age { get; set; }
public double Weight { get; set; }
public string Name { get; set; }
}
[HttpPost]
public ActionResult Save(Cat form)
{
return View();
}
我已经验证JsonValueProviderFactory在应用程序启动时在工厂中注册。我敢肯定,我在这里错过了一些令人难以置信的简单的东西,任何人都可以对此有所了解?
在此先感谢。
这就是它!我错过了“返回假”;在我的js结尾。感谢关于从动作返回JSON的提示。 – 2011-03-27 14:36:57