当用户点击CTRL + S
时,它应显示当前时间。
这是第一次显示当前时间,但下次显示为前一次
这是代码:
var newtime;
$.save('S', function () {
newtime = '@System.DateTime.Now.ToString("t")';
autoSave("Last saved at " + '@DateTime.Now.ToString("t")');
});
尝试两件事仍然得到相同的输出..我每次都进入newtime=10:37
......那里有什么东西丢失了?
答案 0 :(得分:3)
您正在使用此javascript代码中的Razor语法从服务器获取DateTime值。每次执行此代码时,它始终是相同的。
您需要使用 -
var newtime;
$.save('S', function () {
var currentdate = new Date();
newtime = currentdate.getHours() + ":" + currentdate.getMinutes() + ":" + currentdate.getSeconds();
autoSave("Last saved at " + newtime);
});
答案 1 :(得分:0)
您需要使用javascript datetime函数而不是C#,因为DateTime.Now.ToString(“t”)仅在服务器端执行,而不是在客户端执行。试试这个:
$.save('S', function () {
var d = new Date();
newTime = d.getHours()+":"+d.getMinutes();
autoSave("Last saved at " + newTime);
});