Foreach 按钮单击 ajax 帮助

Hui Liu-MSFT 48,571 信誉分 Microsoft 供应商
2024-04-12T06:40:45.71+00:00

大家好!

出于某种愚蠢的原因,我脑子放屁,不记得在单击 foreach 循环内的按钮时如何将数据添加到表格中。

我在下面添加了一些代码:

我确实将 id 传递到项目,但我认为它没有传递到我的控制器?

任何帮助将不胜感激,谢谢!

foreach (var item in Model.Events)
{
   <div class="col-md-3 mb-3">
      <div class="card">
         <div class="footer">
            <a onclick="saveEntry(@item.Id)" class="btn btn-secondary w-100">Enter Event</a>
         </div>
      </div>
   </div>
}

<script>
   function saveEntry(item) {
      var id = item;

      $.ajax({
         type: 'POST',
         data: JSON.stringify(id),
         url: '@Url.Action("SaveEntry", "Contest")',
         contentType: 'json',
         success: function (r) {
            alert(r);
         },
         error: function () {
            alert('Something went wrong. Please refresh the page and try again.');
         }
      });
   }
</script>

[HttpPost]
public virtual IActionResult SaveEntry(int item)
{
   //save current user into table called Entry
   return Json(new
   {
      status = true,
      msg = "You have successfully entered this event."
   });
}

Note:此问题总结整理于:Foreach button click ajax help

Entity Framework Core
Entity Framework Core
实体框架数据访问技术的轻量型、可扩展、开源、跨平台版本。
50 个问题
0 个注释 无注释
{count} 票

接受的答案
  1. Jiale Xue - MSFT 46,456 信誉分 Microsoft 供应商
    2024-04-12T09:15:05.39+00:00

    尝试修改代码,如下所示:

    <script>
       function saveEntry(value) {
          var id = value;
    
          $.ajax({
             type: 'POST',
             data: { item : id },
             url: '@Url.Action("SaveEntry", "Contest")', 
             contentType: 'json',
             success: function (r) {
                alert(r);
             },
             error: function () {
                alert('Something went wrong. Please refresh the page and try again.');
             }
          });
       }
    </script>
    

    结果如下:

    图像1


    如果答案是正确的,请点击“接受答案”并点赞。 如果您对此答案还有其他疑问,请点击“评论”。

    注意:如果您想接收相关电子邮件,请按照我们的文档中的步骤启用电子邮件通知 此线程的通知。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。