asp.net mvc 3 - Pass Complex JSON Object to an MVC 3 Action -
i getting weird results while trying pass complex json object action in mvc 3.
the locations
populated on action parameter model, name , location not.
if ko.tojs(testviewmodel)
, name , location there, locations blank???
i using knockout.js:
var testviewmodel = { name: ko.observable("joe bob"), locations: ko.observablearray([ { id: 1, name: "salem, or" }, { id: 2, name: "big bear lake, ca" }, { id: 3, name: "big bear city, ca" } ]), position: ko.observable("manager") }
sending via jquery ajax:
$.ajax({ url: "/claimsauthority/home/testit", type: "post", data: ko.tojson(testviewmodel), success: function (data, status, xhr) { //ko.applybindings(data); } });
mvc action:
<httppost()> public function testit(model testmodel) actionresult return json(model) end function
models:
public class testmodel public property id integer public property name string public property locations icollection(of locationmodel) public property position string end class public class locationmodel public property id integer public property name string public readonly property displaytext string return string.format("({0}) {1}", id, name) end end property end class
try setting content type application/json
in ajax request:
$.ajax({ url: '/claimsauthority/home/testit', type: 'post', contenttype: 'application/json', data: ko.tojson(testviewmodel), success: function (data, status, xhr) { //ko.applybindings(data); } });
Comments
Post a Comment