0
我正在爲客戶建立購物車解決方案,並且我被困在購物籃中。籃子是使用2個表格CartID和CartItems創建的。使用Webmatrix/Razor在表單中更新多行(購物車中的數量)
上籃頁,我剛纔讀的物品的購物車並顯示出來:
var basketowner = Request.Cookies["cart"].Value;
var basket = db.Query("SELECT * FROM CartItems WHERE [email protected]", basketowner);
然後將這些列爲如此:
<form action="" method="post">
@foreach(var row in basket){
<div class="basketcolumn1">@row.ProductID<input type="hidden" value="@row.CartItemID" name="LineID" /></div>
<div class="basketcolumn2">@row.ProductTitle @row.ProductOrientation</div>
<div class="basketcolumn3">@row.ProductSize</div>
<div class="basketcolumn1"><input type="text" id="quantity" name="quantity" maxlength="2"value="@row.quantity" style="width: 20px;" /></div>
<div class="basketcolumn4"> </div>
<div class="basketcolumn5">@[email protected]</div>
<div class="basketcolumn6"><a href="~/Basket-Delete/@row.CartItemID" class="basketdelete">x</a></div>
<div class="basketcolumn6"><a href="~/Basket-Update/@row.CartItemID">Update</a></div>
<div class="clear"></div>
}
<input type="submit" value="Update" id="submit" name="submit"/>
</form>
什麼需要做的是提交各的數量返回到CartItems表並更新。有沒有辦法用單一的表單來做到這一點?
如果不是,我可以提交表單變量(數量)到一個單獨的頁面更新一次嗎?
任何幫助非常讚賞。
謝謝回答 - 我將代碼放在頁面中,但得到錯誤:'將nvarchar值'31,34'轉換爲數據類型int時轉換失敗。'我嘗試設置關鍵作爲Var或Int,但都失敗。你能建議一種補救辦法嗎? – Acteon
@Acteon,你有哪個命令有異常?爲什麼'31,34'不是你的產品ID整數? – GmG
31,34是CartItem數據庫中行的唯一主鍵ID。行錯誤是: 行24:db.Execute(@「UPDATE CartItems SET quantity = @ 0 WHERE CartID = @ AND AND 我不明白爲什麼它會看不到輸入作爲Int的時候,重新設置在數據庫中 – Acteon