これまでのところ、カートから製品をリストして削除することができます。削除すると、選択した商品が削除され、Ajaxでカートが更新されます:Ajaxで古いモデルを新しいモデルで更新するには?
$.post("/Cart/RemoveFromCart", { "id": $(this).data('id' }
しかし、ポストバックなしでajaxでページを更新する必要があります。
明確化:Ajaxのdata
には、新しい更新カートが含まれています。私はちょっとだけ、ページを更新する必要があります。
$(document).ready(function() {
$('.remove-from-cart').click(function() {
$.post("/Cart/RemoveFromCart", { "id": $(this).data('id' },
function (data) {
// Update the page with new models(data)
});
});
});
これは、コントローラで私のAJAX機能である:ビューで
public List<Products> RemoveFromCart(Guid id) {
//remove and update the cart/models
return newCartModel;
}
:
@foreach (var item in Model) {
<div>
<label>
@item.Name
</label>
//....some other property
<button class="remove-to-cart" data-id="@item.Id">Remove from cart</button>
</div>
}
更新する必要はありますか? - クリックしたボタンに関連付けられたアイテム(つまり、「@ item.Name」ビット)を削除しますか? –
@StephenMueckeユーザーのために表示されている内容を更新したいと思います。ユーザーがカートから製品を取り除くとき、私はajaxにユーザー用の「ビジュアルカート」も更新したい。 - あなたの2番目の質問では、私のコードはすでにクリックされたオブジェクトを削除します。私に関係するすべてのことは、Viewを新しいモデルで更新することです。 – fagol
コードでは、ビュー上ではなくサーバー上のオブジェクトが削除されます。もう一度、カートに5つのアイテムがあり、ボタンをクリックして3番目のアイテムを削除する場合は、ビューを更新して今すぐ削除したアイテムを除く4つのアイテムのみを表示しますか? –