简短的问题:
如何在MVC.NET中做到这一点?
长版问题:
我试图使用SQL表中的DateTime列进行版本跟踪(其本身被建议作为在被表的editview传回后重新附加Linq2Sql数据类的解决方案)
但是现在我得到“找不到或更改行”的异常。在ctx.submit上:
ctx.appointments.Attach(appointment,true); ctx.SubmitChanges();
其中CTX是我的LINQ的datacontext,约会我的表,预约约会对象我尝试将..香港专业教育学院设置的预约表作为sugested这里
建议解决方案的读者也注意到了这个问题。他建议将此作为解决方案。
这里的问题是我不使用Webforms,而是使用MVC.NET。所以我猜用
<%= Html.Hidden("LastUpdate", Model.LastUpdate) %>
更改LastUpdate属性。那么有没有办法确保当它传递回我的更新操作中时得到相同(或至少相等)的DateTime对象?
我在约会表更新时使用了建议的gettime()触发器。这显然存储了一个sql datetime对象。Linq2SQL可能无法对其进行精确解析。我想这也增加了问题。
我希望对此有解决方案。我知道只使用时间戳格式也可以解决..但这不在此问题的范围内
我认为问题在于将上次更新时间写到这样的隐藏字段中只会ToString在默认情况下不显示毫秒的日期上执行一个操作。您可以尝试将时间戳渲染为某些绝对值,例如滴答声:
ToString
<%= Html.Hidden("LastUpdate", Model.LastUpdate.Ticks) %>
然后,您可以通过将值转换回long并重构DateTime来在另一侧重构日期时间:
var dt = new DateTime(Int64.Parse(ticks));