7

SO投票に似た機能を実装する必要があります。このトピックに関するいくつかの既存の質問を調べてみましたが、ほとんどの人が賛成票と反対票を投じる方法に行き詰まっていることに気付きました。私はそれを過ぎています。私の問題は、投票が賛成された後の処理方法に関連しています。これが私が今までやってきたことです。

  1. 各回答に対して、賛成票、反対票、スコアが表示されます。
  2. ユーザーが上下にクリックすると投票数が変更され、それに応じて画像が更新されます。
  3. 情報を db のように保存します。誰が投票したか、投票の時間、投票の種類、userIP、ansID など。

今質問。

  1. グリッドビューを使用して情報を表示しています。以前に投票した回答を、次のページの読み込み時に投票済みとして表示するにはどうすればよいですか。データベースに情報がありますが、パフォーマンスに影響を与えずにこれを行いたいです。私は itemDatabound イベントでそれを行うことができましたが、それを処理するためのきれいな方法のようには見えません。このような状況を処理するためのより良い方法があるかどうか疑問に思います
  2. 投票の切り替え : ユーザーが投票を切り替えると、舞台裏で何が起こるか。以前に賛成したレコードは削除されていますか? 削除すべきだと言っていますが、確認が必要です。
  3. gridview はそのような機能を実装する良い方法ですか?
4

1 に答える 1

2

為に

1) グリッドビューを使用している場合は、ほとんどこのルートをたどる必要があります。しかし、あなたが何をしようとしているのかについて、より詳細な情報が必要です。

2)同じ回答/質問に賛成票を投じてから反対票を投じるときは、チェックして削除する必要があります。質問または回答に対して 1 票しか許可されていないため、ユーザー ID、質問 ID (質問が一意である場合) に対して一意の行になるようにデータベース テーブルを作成する必要があることに注意してください。したがって、テーブルに重複する行を挿入することさえ許可しないでください。

3)stackoverflow は mvc タイプのアプリです。Web フォームを使用しているため、グリッドビューまたはリストビューを使用できます。おそらく、回答をループしてhtmlを生成しているだけです(これはMVCであるため)。

于 2010-03-04T16:36:46.020 に答える