【发布时间】:2010-10-18 11:16:31
【问题描述】:
我有一个控制器定义为:
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address 地址,DataContracts.GeoLocation geoLocation) { 返回 Json("测试"); } 其中 DataContracts.Address 和 DataContracts.GeoLocation 是复杂类型。在我看来,我正在尝试使用 jQuery 来发布:
函数 PostMoreData() { var JsonAddress = { "建筑": $('建筑').val(), "UnitNumber": $('UnitNumber').val(), "街道编号": $('街道编号').val(), "街名": $('街名').val(), "StreetType": $('StreetType').val(), “郊区”:$('郊区').val(), "状态": $('State').val(), "邮编": $('邮编').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; var JsonGeoLocation = { "纬度": $('纬度').val(), "经度": $('经度').val() }; jQuery.post("/AddressValidation/PostMoreData", {address: JsonAddress, geoLocation: JsonGeoLocation}, function(data, textStatus) { if (textStatus == "成功") { var 结果 = 评估(数据); if (result.length > 0) { 警报(结果); } } }, "json"); }但是,在控制器上,我得到空值。
如果我的控制器只接受 1 个参数并且我只发布一个对象,它就可以工作。
[AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address 地址) { 返回 Json("测试"); } 函数 PostMoreData() { var JsonAddress = { "建筑": $('建筑').val(), "UnitNumber": $('UnitNumber').val(), "街道编号": $('街道编号').val(), "街名": $('街名').val(), "StreetType": $('StreetType').val(), “郊区”:$('郊区').val(), "状态": $('State').val(), "邮编": $('邮编').val(), "MonthsAtAddress": $('MonthsAtAddress').val() }; jQuery.post("/AddressValidation/PostMoreData", JsonAddress, function(data, textStatus) { if (textStatus == "成功") { var 结果 = 评估(数据); if (result.length > 0) { 警报(结果); } } }, "json"); }有什么想法可以发布多个对象吗?
【问题讨论】:
标签: asp.net-mvc jquery