イントラネットサイトでは、ユーザーがまだ表示していないコンテンツが変更されたセクションにつながるボタンに視覚的なフラグを含めることから始めたいと思います。
これを達成するために私が考えることができるのは、各Page_Loadで、ユーザーの最終アクセス日をそのセクションのコンテンツと比較するクエリを実行して、前回のアクセス以降に新しいものが追加されているかどうかを確認することです。
たとえば、「ニュース」ページがあります。URLはnews.aspxで、そのページにアクセスするためのボタンには「ニュース」と表示されています。ニューステーブルには、記事がいつ投稿されたかを示すDateCreated列があります。したがって、最初に、news.aspxへのユーザーの最後のアクセスの日時を取得します。PageAccessLogsというテーブルがあり、username、url、accessedtimeの3つの単純な列があります。まず、PageAccessLogsにクエリを実行して、ユーザーが最後にnews.aspxにアクセスした時刻を確認します。その結果が2012-11-0610:34:25だとしましょう。次に、2012-11-0610:34:25以降に投稿された記事の数を確認します。その時点から現在までの間に記事が1つある場合は、ニュースボタンの上に赤い「1」を表示します。その時点から現在までの間に2つの記事がある場合は、[ニュース]ボタンの上に赤い「2」を表示します。等々。
私はまだそれを実装していませんが、上記はうまくいくと確信しています。私の限られた知識では、すべてのユーザーのすべてのPage_Loadでそのクエリを実行する以外に、目標を達成するための他の方法を考えることはできません。これは一般的なアプローチですか?すべてのPage_Loadでサーバーにクエリを実行しなくても、同じ目標を達成する方法はありますか?
クッキーを使用して最終アクセス日を保存するための何らかのトリックがあるかもしれないと思いましたが、そのアプローチでも、前回の更新以降に新しい記事があるかどうかを確認するためにサーバーにクエリを実行する必要があります。