4

これに似た質問がたくさんありますが、私が見つけたWebフォームとC#を扱っているものはありません。

投票レコード(Voteup / down / time / ipaddress / userなど)を記録したい投票テーブルであるLinq-to-SQLがあります

これはそれを行う方法ですか、それともより良い方法がありますか?

アップダウンimgを作成し、その中のどこか(どこ?)で投票されているオブジェクトのIDを非表示にします。imgをクリックすると、jqueryはashxページに移動し、投票レコードを作成できた場合はtrueを返し、imgを次のように設定します。 ashxページの応答に基づくカラー/グレースケール?

例または例へのリンクのボーナスポイント=D

PS。短期間でこれについて多くの見解があります。今晩、最終的なコードを投稿します。

4

2 に答える 2

1

私はあなたが言っているようにそれをしますが、データベースではリレーショナルデータベースの機能をもっと活用します。

質問テーブルと1対多の関係を持つユーザーテーブルを持つなど。ユーザー(ユーザー)にも質問できるようにする場合は、各ユーザーの質問を含むテーブルが必要です。これは、別の1対多の関係です。次に、質問テーブルおよびユーザーテーブルと1対多の関係にある投票テーブルも必要です。これにより、どのユーザーが質問に投票し、どの質問であったかを追跡できます。

主なことは、リレーショナルデータベースシステムを適切に使用すると、バックグラウンドで物事を追跡するのが簡単になり、ユーザーのエクスペリエンスが向上することです。

それは一つのことです。次に、投票画像をクリック可能にするので、非常に単純なJQueryでonclickイベントを使用します。

画像をクリックしたときにAJAXを使用してポストバックを実行するため、ユーザーが投票するたびにページ全体にポストバックを実行する必要はありません。これにより、ユーザーエクスペリエンスも向上します。ASP.NETを使用したAJAXに関する多くのチュートリアルがあります。

これがお役に立てば幸いです。

于 2010-03-03T17:20:39.670 に答える
1

私はあなたが一般的な考えを持っていると思います。従来のWebFormsAJAXを使用してこれを行うか、jQueryを使用して$ .ajax()呼び出しを使用して、投票を登録し、結果を返し、画像を変更することができます。

jQueryアプローチのフレームワークは次のとおりです。

Javascript:

function registerVote(voteType){
   $.ajax(function (){
          //get the name of the parent DIV 
          //(using the jQuery selector), which is the ID of the thing you're voting on
          //Use Success and Error callbacks to register a success or error. 
          //On success, change the selected vote image to the highlighted version
   })

}

HTML:

<div id="ThingToVoteOn1">
<img src="voteUp" onclick="registerVote('UP')">
<img src="voteDown" onclick="registerVote('DOWN')">

</div>
于 2010-03-03T17:22:59.307 に答える