ASP.NET MVC中通过Ajax发送数据到控制器的问题

问题描述 投票:0回答:1

我用这个foreach:

foreach (var item2 in RItem.GetChildItems(item.ID_Ca))
{
    <div id="@idc" class="accordion-collapse collapse" aria-labelledby="headingTwo2" 
         data-bs-parent="#accordionExample">
        <div class="accordion-body" style="background: white; padding: 5px; padding-left: 20px;">
            <button id="getthis" data-id="@item2.Name_Ca"  type="button" onclick="Search()" 
                    style=" color: #0028ff; font-size: 14px;">
                @item2.Name_Ca
            </button>
        </div>
    </div>
}

当单击按钮时,我想通过jQuery将按钮的data-id发送到控制器,问题是每次单击按钮时,发送到控制器的唯一数据只是第一条记录.

<script>
    function Search() {
        jQuery('.loading').fadeIn();

        $.ajax({
            url: 'SearchProjectsItems',
            type: 'post',
            datatype: 'json',
            data: {
                Cat: $(document.getElementById('getthis')).attr('data-id')     
            },
            error: function (err) {
                alert(err.Status + "" + err.StatusText);
            }
        }).done(function (data) {
            $('#Search_CU').html(data);
            jQuery('.loading').fadeOut();
        });
    }
</script>

我不知道该怎么办

c# jquery ajax asp.net-mvc
1个回答
0
投票

将您的 html 代码按钮更改为 onclick="Search('@item2.Name_Ca')" 。否则使用角度js。 $scope.arrayname[] 并填充数组,然后发送数据。另一种方法是使用 $scope.modelList 并使用 Angular foreach 填充列表。然后发送到控制器。控制器功能输入参数应该是相同的数据模型。

© www.soinside.com 2019 - 2024. All rights reserved.