【问题标题】:asp.net how to access ajax call data in the controller actionasp.net如何在控制器动作中访问ajax调用数据
【发布时间】:2018-10-03 08:22:51
【问题描述】:

正如您在下面的示例中看到的,我将 data: 传递给控制器​​操作使用 数据属性,我如何在操作中访问这些数据, 我使用了 request['data'],但是没有用

<script>
    $('#btnSelected').on('click', function (e) {
            var selectedIDs = [];
            $("#myTable tr.selected").each(function (index, row) {
                selectedIDs.push($(row).find("td:first").html());

            });
             var selecteddata =selectedIDs 
             var link = '@Url.Action("ConvertApplication", "Applications")';
            $.ajax({
                url: link,
                type: 'POST',
                data: selecteddata ,
                contentType: 'application/html',
                success: function (content) {
                    $('#ConvertToProject').html(content);
                    },
                error: function (xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        alert(thrownError);
                    }
                });

        });
    </script>

【问题讨论】:

  • 如果类型正确,数据将映射到您的 ActionResult,请在 asp.net 中的 DefaultModelBinder 上阅读一下
  • 为什么在传递数组时使用contentType: 'application/html'?您必须启用 traditional: true 选项才能通过 AJAX 调用传递数组。

标签: javascript c# asp.net ajax asp.net-mvc


【解决方案1】:

您的操作应该有一个列表作为输入参数。

Public ActionResult ConvertApplication(List<int> selecteddata)
{
...
}

【讨论】:

  • 可能是因为它是一个 ajax 调用,结果可能是 JsonResult ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
相关资源
最近更新 更多