asp.net-mvc – 使用jQuery.post将多个参数发布到MVC Controller
发布时间:2020-08-02 02:06:39 所属栏目:asp.Net 来源:互联网
导读:我有一个控制器定义为: [AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address, DataContracts.GeoLocation geoLocation) { return Json(test
我有一个控制器定义为: [AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address,DataContracts.GeoLocation geoLocation) { return Json("test"); } where DataContracts.Address and DataContracts.GeoLocation are complex types. 从我的视图我试图使用jQuery发布如下: function PostMoreData() { var JsonAddress = { "Building": $('Building').val(),"UnitNumber": $('UnitNumber').val(),"StreetNumber": $('StreetNumber').val(),"StreetName": $('StreetName').val(),"StreetType": $('StreetType').val(),"Suburb": $('Suburb').val(),"State": $('State').val(),"Postcode": $('Postcode').val(),"MonthsAtAddress": $('MonthsAtAddress').val() }; var JsonGeoLocation = { "Latitude": $('Latitude').val(),"Longitude": $('Longitude').val() }; jQuery.post("/AddressValidation/PostMoreData",{address: JsonAddress,geoLocation: JsonGeoLocation},function(data,textStatus) { if (textStatus == "success") { var result = eval(data); if (result.length > 0) { alert(result); } } },"json"); } 但是,在控制器上,我得到空值. 它可以工作,如果我的控制器只需要一个参数,我只发布一个对象. [AcceptVerbs(HttpVerbs.Post)] public JsonResult PostMoreData(DataContracts.Address address) { return Json("test"); } function PostMoreData() { var JsonAddress = { "Building": $('Building').val(),"MonthsAtAddress": $('MonthsAtAddress').val() }; jQuery.post("/AddressValidation/PostMoreData",JsonAddress,"json"); } 任何想法如何我可以发布多个对象? 解决方法请注意,无论您的控制器做什么,jQuery在这里执行的“默认序列化”都不会起作用. jQuery不会“遍历”第一级下面的参数映射,因此问题中的示例可能会生成此发布数据:address=[object]&geoLocation=[object] 另一个工作示例不包含任何子对象,因此它是直接翻译的,如下所示: Building=value&UnitNumber=value&...&MonthsAtAddress=value 最简单的解决方法是使参数映射平坦,每个键都以“地址”为前缀.或’GeoLocation.’,取决于. (编辑:岳阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp-classic – 经典的asp / asp.net网站 – global.asa无效
- asp.net – 使用Html.TextBox添加css类
- 用C#实现pdf文件的完整性验证
- asp.net – (客户端)禁用提交按钮的最佳方法是什么?
- asp.net-mvc – Url.RouteUrl返回null
- asp.net-core – ASP.Net核心maxUrlLength
- asp.net-mvc – DotNetOpenAuth在ASP.NET MVC中的OAuth
- ASP.NET汉字转拼音 - 输入汉字获取其拼音的具体实现
- 认证 – asp.net mvc 3:Page.User.IsInRole(“xy”)返回nu
- asp.net – 我应该在哪里放置scriptmanager
推荐文章
站长推荐
- asp.net – 从启用AJAX的WCF服务返回错误详细信息
- asp.net – MVC 3,(razor)加载部分与验证
- asp.net-mvc – 为什么ASP.NET MVC使用会话状态?
- asp.net-mvc – Url.Action如何从模型中添加参数
- .net – 可以为空的枚举类型的奇怪行为
- asp.net-mvc – webgrid中的Mvc 3 texbox(razor)
- asp.net-mvc – TempData在第二个请求后不会被破
- asp.net-mvc – 如何从mvc中的控制器中设置隐藏字
- asp.net-mvc – 如何将html5属性和值导入mvc Hid
- asp.net文件上传示例分享
热点阅读