无法更新asp.net core 2.2中的实际数量值

肖恩·沃森

我试图更新索引方法中的数量。但是索引视图的输入提交按钮无法工作,因为该数据无法绑定。仍然,数量没有更新,我显示我已经使用的数量值。但是我想更新一下。

这是我的代码

namespace Amazon.Areas.Admin.Controllers
{
    [Area("Admin")]
    public class ShopController : Controller
    {
        private ApplicationDbContext _db;
        private IHostingEnvironment _he;

        public ShopController(ApplicationDbContext db, IHostingEnvironment he) //input parameter
        {
            _db = db;
            _he = he;
        }


       
        public IActionResult Index()
        {
            return View(_db.Shop.Include(c => c.Category).Include(f => f.SubCategory).ToList());
        }

        [HttpPost]
        public async Task<IActionResult> Index(Shop shop)
        {
            _db.Shop.Update(shop);
            await _db.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
    @using Amazon.Models
    @model IEnumerable<Shop>
    @{
        ViewData["Title"] = "Index";
    }
    
    <br /><br />
    <div class="row">
        <div class="col-6">
            <h2 class="text-info">Product List</h2>
        </div>
    
        <div class="col-6 text-right">
            <a asp-action="Create" class="btn btn-info">&nbsp;Add New Product </a>
        </div>
    
    </div>
    <form asp-action="Create" method="post" enctype="multipart/form-data">
        <div>
            <table class="table table-striped border" id="myTable">
                <thead>
                    <tr class="table-info">
                        <th>
                            @Html.DisplayNameFor(c => c.Name)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.Price)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.PreviousPrice)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.Quantity)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.Description)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.Size)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.CategoryTypeId)
                        </th>
                        <th>
                            @Html.DisplayNameFor(c => c.SubCategoryTypeId)
                        </th>
    
                        <th></th>
                        <th></th>
                    </tr>
                </thead>
                <tbody>
                    @foreach (var item in Model)
                    {
                        <tr class="text-info">
    
                            <td>  @item.Name </td>
                            <td>  @item.Price </td>
                            <td>  @item.PreviousPrice </td>
                            @*<td>@item.Quantity</td>*@
    
                            <td>
                                <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">
                                </div>
                            </td>
                            <td>  @item.Description </td>
                            <td>  @item.Size </td>
                            <td>  @item.Category.CategoryName </td>
                            <td>  @item.SubCategory.SubCategoryName </td>
                            <td>
                                <partial name="_DeletePartial" model="@item.Id" />
                            </td>
                        </tr>
                    }
                </tbody>
            </table>
        </div>
    </form>
    <br /> <br />
    
    @section scripts{
        <script type="text/javascript">
            $(document).ready(function () {
                $('#myTable').DataTable();
            });
        </script>
        <script src="~/lib/jquery/dist/jquery.min.js"></script>
        <script>
            function incrementValue(e) {
                e.preventDefault();
                var fieldName = $(e.target).data('field');
                var parent = $(e.target).closest('div');
                var currentVal = parseInt(parent.find('input[name=' + fieldName + ']').val(), 10);
    
                if (!isNaN(currentVal)) {
                    parent.find('input[name=' + fieldName + ']').val(currentVal + 1);
                } else {
                    parent.find('input[name=' + fieldName + ']').val(0);
                }
            }
    
            function decrementValue(e) {
                e.preventDefault();
                var fieldName = $(e.target).data('field');
                var parent = $(e.target).closest('div');
                var currentVal = parseInt(parent.find('input[name=' + fieldName + ']').val(), 10);
    
                if (!isNaN(currentVal) && currentVal > 0) {
                    parent.find('input[name=' + fieldName + ']').val(currentVal - 1);
                } else {
                    parent.find('input[name=' + fieldName + ']').val(0);
                }
            }
    
            $('.input-group').on('click', '.button-plus', function (e) {
                incrementValue(e);
            });
    
            $('.input-group').on('click', '.button-minus', function (e) {
                decrementValue(e);
            });
        </script>
    }

我的输出是

在此处输入图片说明

当我使用微调器更新数量时,它不会更新数量的实际值。我是新手,请帮助任何人。

Yiyi You

如果您想将通过单击按钮保存的值保存到数据库中,我认为您可以这样做。

View.cshtml:

<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());
        }

结果: 在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

更新到ASP.NET Core 2后无法获取配置部分

来自分类Dev

无法添加对.net core类库asp.net core rc2的引用

来自分类Dev

无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

来自分类Dev

无法在ASP.NET Core RC2中导入Oracle Client

来自分类Dev

ASP.NET Core rc2中的Cookie

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

ASP.NET Core RC2中的网址重写

来自分类Dev

ASP.NET Core 2 razor 页面中的文件上传

来自分类Dev

无法在.Net Core RC2中添加视图

来自分类Dev

无法添加项目 .net core 2 引用但可以添加 dll .net core 2 引用

来自分类Dev

VS 2K17 更新后无法打开或创建 .NET CORE Web 应用程序

来自分类Dev

xunit无法与ASP.NET Core RC2一起编译

来自分类Dev

ASP.NET Core RC2项目参考“无法解决依赖项X”

来自分类Dev

Angular2无法将http.post转换为ASP.NET CORE API

来自分类Dev

无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

来自分类Dev

无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

来自分类Dev

Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

来自分类Dev

Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

来自分类Dev

无法在服务器中运行asp.net Core,Angular 2,服务器端渲染项目

来自分类Dev

无法使用 ASP.Net Core 2 中的 IFormFile 对象上传照片,并出现空引用异常

来自分类Dev

ASP Net Core 1 RC2 AccountController注入

来自分类Dev

asp.net core 2 Web API超时问题

来自分类Dev

是否发布了ASP.NET Core RC2?

来自分类Dev

如何从 Angular 2 访问 Asp.net Core Api

来自分类Dev

asp.net core 1.1 antiforgery with angular 2/4

来自分类Dev

带参数的 ASP.Net Core 2 Razor AJAX GET?

来自分类Dev

Asp.Net MVC Core 2 - 在 _Layout 上使用 ViewBag

来自分类Dev

AutoMapper Asp.Net Core 2:未映射的属性

来自分类Dev

Moq.netcore无法用于.Net Core RC2

Related 相关文章

  1. 1

    更新到ASP.NET Core 2后无法获取配置部分

  2. 2

    无法添加对.net core类库asp.net core rc2的引用

  3. 3

    无法在IISExpress中启动ASP.NET Core RC2 Web应用程序

  4. 4

    无法在ASP.NET Core RC2中导入Oracle Client

  5. 5

    ASP.NET Core rc2中的Cookie

  6. 6

    ASP.NET Core RC2中的网址重写

  7. 7

    ASP.NET Core RC2中的网址重写

  8. 8

    ASP.NET Core 2 razor 页面中的文件上传

  9. 9

    无法在.Net Core RC2中添加视图

  10. 10

    无法添加项目 .net core 2 引用但可以添加 dll .net core 2 引用

  11. 11

    VS 2K17 更新后无法打开或创建 .NET CORE Web 应用程序

  12. 12

    xunit无法与ASP.NET Core RC2一起编译

  13. 13

    ASP.NET Core RC2项目参考“无法解决依赖项X”

  14. 14

    Angular2无法将http.post转换为ASP.NET CORE API

  15. 15

    无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

  16. 16

    无法让ConfigurationBuilder从ASP.NET Core 1.0 RC2的xunit类库中的appsettings.json中读取

  17. 17

    Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

  18. 18

    Razor页面在运行时无法在ASP.NET Core RC2中看到引用的类库

  19. 19

    无法在服务器中运行asp.net Core,Angular 2,服务器端渲染项目

  20. 20

    无法使用 ASP.Net Core 2 中的 IFormFile 对象上传照片,并出现空引用异常

  21. 21

    ASP Net Core 1 RC2 AccountController注入

  22. 22

    asp.net core 2 Web API超时问题

  23. 23

    是否发布了ASP.NET Core RC2?

  24. 24

    如何从 Angular 2 访问 Asp.net Core Api

  25. 25

    asp.net core 1.1 antiforgery with angular 2/4

  26. 26

    带参数的 ASP.Net Core 2 Razor AJAX GET?

  27. 27

    Asp.Net MVC Core 2 - 在 _Layout 上使用 ViewBag

  28. 28

    AutoMapper Asp.Net Core 2:未映射的属性

  29. 29

    Moq.netcore无法用于.Net Core RC2

热门标签

归档