我做的是用户修改,第一张图是获取ajax代码中data传递过来的时间,然后usermodel是用户表实例化而随便定义的,传递过来的时间是用的string类型,不知道为什么在下面不能转换为DateTime类型,求各位大神讲解。
前台转化一般就是这样子,你用replace替换掉T,或者自己写个js小插件,通过getMonth这些方法依次获取年月日,在自己组装,或者给后台传Date类型,在转化
我把T替换为空格了,但是在赋值的时候说该字符串未被识别为有效的DateTime
后台接收到的值是什么样的看过没
看过了 类似于 2016-10-10T12:00:00这样的。
@A.I.N.Y: 那你直接datetime.parse就行了.别加那些有的没的.
@吴瑞祥: 不行呢,无法识别的字符串
@A.I.N.Y:
只能说你调试下看你拿到的字符串是什么吧.
大兄弟,你在转换格式时都不判断是否为空吗?这样不会报错?
啊?我值已经传递过来了啊,只是格式不对
@A.I.N.Y: Example: string a=""; Convert.ToDateTime(a); 当你从前台获取的data 为空你这里不会报错???
@IT民工-杰: 这个我没有写,但是获取的不会为空,
@A.I.N.Y: 前台判断了?就不会传空数据到后台?
一旦我到脚本中给你这些传入的参数加个空值,你后台就直接over了
@IT民工-杰: 前台用js判断了的
@A.I.N.Y: 哦
@IT民工-杰: 大兄弟,你说的脚本添加空值这些太高端了,我现在的是想解决转换的问题
前端的StringFormat和C# StringFormat可能的不确定,给你个简单的办法 —— 前端直接处理为int,js貌似是1970,后端直接创建DateTime(1970).Add【ms不确定,参见sdk】即可,省略了StringFormat的各种过程,效率高,传输省。