asp.net-mvc – MVC将null反序列化为“null”(字符串)
发布时间:2020-12-16 06:22:12 所属栏目:asp.Net 来源:网络整理
导读:我通过$.ajax POST将一个对象从jQuery传递给MVC3控制器.在使用Developer Tools进行调试时,我可以看到我分配给ajax数据属性的对象.该对象包含值为null的属性.当我调试Controller时,JS Debugger中为null的属性现在为“null”(字符串). 为什么是这样?我该怎么
我通过$.ajax POST将一个对象从jQuery传递给MVC3控制器.在使用Developer Tools进行调试时,我可以看到我分配给ajax数据属性的对象.该对象包含值为null的属性.当我调试Controller时,JS Debugger中为null的属性现在为“null”(字符串).
为什么是这样?我该怎么做才能防止这种情况发生? C#对象 public class User { public string Name { get; set; } } Javascript对象 var user = { Name: null } 控制器方法 public JsonResult HelloWorld(User user) { .. some logic .. } ajax电话 var data = user; $.ajax({ url: '/Controller/HelloWorld/',data: data,type: 'post',success: ... error: ... }) 解决方法
是的,这是默认模型绑定器的一个不幸的副作用.您可以通过在请求中根本不包含null属性或使用JSON请求来避免它:
$.ajax({ url: '@Url.Action("HelloWorld","Controller")',data: JSON.stringify({ Name: null }),contentType: 'application/json',success: function (result) { // ... } }); 需要注意的事项: > contentType:’application / json’.> JSON.stringify围绕data参数,以便将请求转换为JSON字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何在c#/ asp.net中使用jquery或ajax来更新
- asp.net-mvc – 为什么必须将LESS文件设置为Build Action“
- asp.net – ListView禁用基于角色的插入和编辑按钮
- asp.net-mvc – 为什么要使用视图模型?
- asp.net-mvc-3 – 具有MVC属性的IoC / DI
- asp.net – 双回发问题
- Asp.Net MVC 身份验证-Forms
- 通过ASP.NET菜单控件禁用javascript生成
- 身份验证 – 如何使用ASP.NET身份在Web API 2中实现双因素身
- asp.net – 让网站暂时无法使用的优雅方式?
推荐文章
站长推荐
- 从ASP.NET MVC Partial View中调用JavaScript
- ASP.NET MVC - HTML 帮助器
- asp.net – 将Dictionary加入querystring的最快方
- 在IIS之后安装ASP.Net 2.0
- asp.net-mvc在post action中获取字典或如何将For
- asp.net-mvc – xVal和ASP.Net MVC 2 AddModelSt
- ASP.NET 強制設定開啟或是關閉相容性檢視
- 在ASP.NET上启动维护流程的最佳实践是什么
- asp.net-mvc – 属性路由不工作在区域
- asp.net-mvc-3 – dataannotations在主键上设置标
热点阅读