编辑11-08-2015:我已经确认此错误已在2.5.3中修复,可通过nuget从2015年7月20日开始
编辑:微软证实这是一个将在下一个版本的lightswitch中解决的错误,< 2.5.3(link)
我有一个简单的LightSwitch HTML页面,其中DateTime TextBox可以数据绑定到SQL Server DateTime字段(UTC +1)。
呈现页面时,会显示正确的日期。但是,当我使用
更新时msls.application.applyChanges()
我的DateTime TextBox值增加一个小时,即使该值未更改,但在数据库中设置了正确的日期。我试图用JS解决这个问题,但我还没有找到一个好的解决方案。
我只是不明白为什么在加载时正确呈现日期时间,但在更新后呈现错误,即使值未更改。如果它是一种方式或另一种我可能只是破解它,但现在它都是不一致的。
LightSwitch真的与datetime不兼容吗?
答案 0 :(得分:1)
打开msls-2.5.2.js
找到此部分代码:
entitySet._loadedEntities[entityData.__metadata.uri] = entity;
} else if (entityState === _EntityState.modified) {
originalEntityData = entityData.__original;
$.each(entityDetails.properties.all(), function (j, property) {
您需要添加:convertDatesToLocal(changeResponse.data);
示例:
entitySet._loadedEntities[entityData.__metadata.uri] = entity;
} else if (entityState === _EntityState.modified) {
convertDatesToLocal(changeResponse.data);
originalEntityData = entityData.__original;
$.each(entityDetails.properties.all(), function (j, property) {
希望这有帮助。