2011-06-28 12 views
0
<asp:Repeater ID="Cart" runat="server" onitemcommand="Cart_ItemCommand"> 
     <ItemTemplate> 
      <p class="cartline"> 
      <span class="cartvalue cartqty"><asp:TextBox ID="cartQty" runat="server" Text='<%#Eval("shoppingCartQty")%>'></asp:TextBox></span> 
      <span class="cartdelete cartadjust"> 
       <asp:HiddenField ID="cartID" value='<%#Eval("shoppingCartID") %>' runat="server" /> 
       <asp:LinkButton ID="cartDelete" runat="server" CommandName="DeleteFromCart" CommandArgument='<%#Eval("shoppingCartID") %>'><img src="img/but-delete.png" alt="delete item" title="delete shopping cart item" /></asp:LinkButton> 
      </span> 
      </p> 

     </ItemTemplate> 
    </asp:Repeater> 

<asp:LinkButton ID="cartRecalcButton" CssClass="cartrecalcbutton" runat="server" ToolTip="recalculate your shopping cart" onclick="cartRecalcButton_Click">&nbsp;</asp:LinkButton> 

私はC#で私の最初のサイトを構築していますが、私は各cartQtyを繰り返し処理し、データベースを更新する方法に固執しています。Recalc Cart in ASP.NETサイト

カートの各行を更新する準備が整っていますが、cartIDとcartQtyを渡す必要があるストアドプロシージャがあります。 Iveはforeach(this.ControlsのControl x)を使用しようとしましたが、役に立たなかった。助けて! (please ...)

+0

タイトルに「ASP.Net C#」のようなものを入れないでください。それはタグのためのものです。 –

答えて

1

リピータは繰り返しを行います。ループを作成する必要はありません。 Here's w3schoolsの公式の構文ですが、より関連性の高い例はthisとなります。ストアドプロシージャはデータソースとして使用できますが、必ずしも必要ではありません。

+0

roy私はリピーターがうまく動作しています。しかし、カート内の数量を修正して再計算ボタンをクリックした場合、データベース内の数量を対応するcartIDに更新するために各行を読み取る必要はありませんか? – ComfortablyNumb

+1

行を更新する方法や、行内の要素を変更したときにイベントを呼び出す方法がいくつかあります。この質問の答えを見ると、その構文を使用して問題の行を見つけて、そのレコードにストアドプロシージャを実行できます[リンク](http://goo.gl/Q4Nmz)。しかし、私はおそらく、この男のようないくつかのajax呼び出しを使用してインライン編集を行います(http://goo.gl/r4nbQ)。 –

+0

貴重なロイありがとうございます。私はこれがトリックをすると思います! – ComfortablyNumb