Если вы хотите сохранить значение, измененное щелчком по кнопке в базе данных, я думаю, вы можете это сделать.
View.cs html:
<div class="input-group">
<input type="submit" value="-" class="button-minus" data-field="quantity">
<input type="submit" step="1" max="" value="@item.Quantity" name="quantity" asp-for="@item.Quantity"class="quantity-field">
<input type="submit" value="+" class="button-plus" data-field="quantity">
<input type="hidden" name="Id" value="@item.Id" data-field="quantity"/>
</div>
js в поле зрения:
$('.input-group').on('click', '.button-plus', function (e) {
incrementValue(e);
var fieldName = $(e.target).data('field');
var parent = $(e.target).closest('div');
var currentVal = parseInt(parent.find('input[name=' + fieldName + ']').val(), 10);
var id = parseInt(parent.find('input[name=Id ]').val());
$.ajax({ url: 'blogs/test', type: 'get', data: { "value": currentVal ,"id":id}, dataType: 'json', success: function (data) { console.log(data) } })
});
$('.input-group').on('click', '.button-minus', function (e) {
decrementValue(e);
var fieldName = $(e.target).data('field');
var parent = $(e.target).closest('div');
var currentVal = parseInt(parent.find('input[name=' + fieldName + ']').val(), 10);
var id = parseInt(parent.find('input[name=Id ]').val());
$.ajax({ url: 'blogs/test', type: 'get', data: { "value": currentVal, "id": id}, dataType: 'json', success: function (data) { console.log(data) } })
});
контроллер:
public IActionResult Test(int id,int value)
{
var blog=_context.Blogs.Find(id);
blog.Quantity = value;
_context.SaveChanges();
return Json("ok");
}
public async Task<IActionResult> Index()
{
return View(await _context.Blogs.ToListAsync());
}
результат: введите описание изображения здесь