使用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在重新加载页面之前从未使用新值更新。

我的问题是:我怎么能确保我总是使用最新的值,而不必重新加载页面?

使用Ajax和Razor的模型增量值

像这样改变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内的文本后更新它。