使用Ajax和Razor的模型增量值
本文关键字:模型 Ajax Razor 使用 | 更新日期: 2023-09-27 18:09:15
我正在循环使用Razor来显示我的模型上的集合。例如:
@foreach(var item in myCollection)
{
<span id='item-@item.Id'>@item.Quantity</span>
<button type='button' onclick='updateQuantity(@item.Quantity+1);'>Add One</button>
}
在这个例子中,updateQuantity
执行一个AJAX请求,获得新的数量,并用新的数量更新item-@item.Id
。然而,由于@item.Quantity
是从模型中提取的(通过页面的GET
方法传入),@item.Quantity
在重新加载页面之前从未使用新值更新。
我的问题是:我怎么能确保我总是使用最新的值,而不必重新加载页面?
像这样改变foreach循环中的按钮:
@foreach(var item in myCollection)
{
<span id='item-@item.Id'>@item.Quantity</span>
<button id='updateButton' type='button'>Add One</button>
}
然后,把这个脚本添加到你的View中:
<script>
$("#updateButton").click(function() {
var quantity = $("#item-@item.Id").text();
updateQuantity(quantity);
})
</script>
并且,在updateQuantity()
函数中,在通过Ajax获得span内的文本后更新它。