私は、匿名の人々が祈りを投稿したり、他の人がコメントしたり、これらのオブジェクトを祈ることを確認したりできるようにする ASP.Net アプリケーションを作成しています。祈りは、一意の識別子を使用して SQL Server 2008 データベースに保存されます。
これらは、リピーター コントロールと非表示フィールドを使用して表示され、行の ID を格納します。リピーターの各アイテムには、匿名の人々が祈ることができるボタンが含まれており、これはデータベース内のカウンターとして増加します。
基本的には、ユーザーがこのアイテムを祈っていることを確認したら、ボタンを無効にして、その行の合計数を表示したいと考えています。
Cookie/セッションにデータを保存できることを理解しているので、これまでに思いついた唯一の解決策は、行のIDをこれらのオブジェクトの1つに保存し、リピーターコントロール内でカスタムロジックを使用して確認することですどれが存在するかを確認します。
このようなことを達成するための最も効率的な方法について、誰か洞察を提供できますか? Cookie やセッション以外のオプションがある場合は、それも聞いてうれしいです。
編集:次のロジックを使用してこのソリューションを実装しようとしています。
コードビハインド:
protected bool IsPrayerInCookie(string prayerId)
{
if(Request.Cookies["prayers"][prayerId] != null)
{
return false;
}
else
{
return true;
}
}
ASPX:
<span class="confirmed_prayers"><span class="trans">
<asp:Label runat="server" ID="lblConfirmedPrayers" Text='<%# Eval("ConfirmedPrayers") %>' />
people have prayed for this.</span></span>
<% if(!IsPrayerInCookie(Eval("PrayerId").ToString()))
{
%>
<asp:LinkButton ID="btnPray" CssClass="but_styled" runat="server" TabIndex="8" CommandName="IncrementPrayer">
<span><span class="check">
Pray for This</span></span></asp:LinkButton>
<%
}
%>
ただし、これは機能しません。ifステートメントをaspxファイル内で機能させて、正しいIDでコードビハインドメソッドを適切に呼び出す方法を誰かが理解するのを手伝ってくれますか?