1

私は .Net 環境で作業しており、私の aspx ページで実行中のデジタル時計 w//seconds を追加したいのですが、サーバー側の時間を使用する必要があります。これに対する最善のアプローチは何ですか?

ありがとう!

4

2 に答える 2

5

少し時間を取って、この JavaScript ライブラリを見てください。

おそらくデータ属性のようなものを介して、サーバー側の時間をJavaScriptコードに提供するだけで済みます

すなわち:

<html data-server-time="@Model.ServerTime">

そして、あなたのJSは単純に(jQueryと瞬間を仮定して):

var date = $('html').data('server-time');
var start = new Date();

var updateTime = function (){
    setTimeout(function(){
        var now = moment(date).add(new Date() - start).format('YYYY/MM/DD HH:mm:ss')
        $('.target').text(now);
        updateTime();
    },1000);
}

$(function(){
    updateTime();
});

フィドル

この方法では、サーバー時間を使用しますが、不要な AJAX 呼び出しを回避して、ページの読み込みごとに複数回要求する必要はありません。サーバーに原子力グレードの時計などがある場合を除きます。

于 2013-01-17T18:32:44.240 に答える
1

AJAX UpdatePanel を検討しましたか?

MSDN:チュートリアル: 一定間隔で UpdatePanel コントロールを更新する方法

毎秒更新するのはやり過ぎかもしれません。サーバーをポーリングしてサーバーをチェックし、クライアントの時刻がまだ同期されているように実装し、そうでない場合はクライアントページを更新しますか?

于 2013-01-17T18:32:06.213 に答える