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 라인은 스크립트가 정확한 시간에 떨어져 발사되도록 파이어 버그 정보 창에서 인쇄 ... 다음과 같습니다. 뷰 모델은 다음과 같습니다 설정되지 않은 모든 속성 아래의 액션 메소드에 올 때 예상되는 JSON은
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();
}
내가 확인한 ..., ... 방화범 그러나
Source
{"Age":5,"Weight":13.5,"Name":"Fluffy"}
나타난다 앱이 시작될 때 JsonValueProviderFactory가 팩토리에 등록된다. 나는 여기에 믿을 수 없을 정도로 간단한 것을 놓쳤다 고 확신한다. 누군가 이것에 대해 어떤 생각을 밝힐 수 있을까?
미리 감사드립니다.
했다! 나는 "return false;를 놓치고 있었다. 내 js의 끝에. 액션에서 JSON을 반환하는 팁을 주셔서 감사합니다. –