c# - 通过 Ajax 将 Var 和列表传递给 Controller

标签 c# javascript jquery ajax knockout.js

我有一个文本框和一个选择选项多个,我使用 viewModel 中的knockout selectedOptions 存储所有选定的项目。

如果我尝试使用 ajax 将捕获的信息传递到我的 Controller ,我将无法接收我的 MetricsChosenModel。

            var MetricsChosenModel= window.vm.MetricsChosenModel();
            var ApplicationsNameValue = $.trim($("#add-Applications").val());
            if (ApplicationsNameValue.length <= 0) {
                $("#text-add-Applications").popover('show');
            }
                $.ajax({
                    url: '/Admin/AddApplications',
                    type: "POST",
                    dataType: "JSON",
                    data: { ApplicationsName: ApplicationsNameValue, MetricsChosenModel: MetricsChosenModel },
                    success: function (returndata) {
                        if (returndata == true) {
                        }
                        else {

                        }
                    },
                    error: function () {
                    }
                });

我的 Controller

    public ActionResult AddApplications(string ApplicationsName,List<string> MetricsChosenModel)
    {

        //Code here
        return View();
    }

我的 MetricsChosenModel 以以下格式存储数据 指标选择模型[0] => 5 MetricsChosenModel [1] => 6

为什么我无法接收 MetricsChosenModel 的列表值,但我能够接收ApplicationsName,

如果有人能解释一下,我在这里哪里错了,那就太好了,

谢谢

最佳答案

如果不知道您的路由是什么样子,就很难查明问题的确切根源。如果我不得不猜测,我会说您是通过 URL(路由或查询字符串参数)获取 ApplicationsName 值。如果是这种情况,您可以将 [FromBody] 属性添加到 MetricsChosenModel 中。但请注意,每个方法签名只能使用一个 FromBodyAttribute。如果您需要更多变量,解决此问题的一个简单方法是创建一个模型,其中包含您希望在 Controller 操作中接收的每个属性。

希望有帮助!

关于c# - 通过 Ajax 将 Var 和列表传递给 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249892/

相关文章:

javascript - HTML/Javascript 显示用户输入(刷新问题)

javascript - 那么如何在 promise 内打破呢?

jquery - 我们如何在html中制作水平UI?

jquery - 有没有办法以编程方式将多个有效的 OAuth 重定向 Uri 添加到您的 Facebook 应用程序?

c# - 在C#中实现同步算法

c# - New-PSSession 和 Runspacepool 说明

c# - 如何从 WinForms 打印多页?

javascript - Web Audio API 故障/失真问题

c# - 无法更改数据网格文本对齐方式(devexpress 网格控件)

javascript - 删除没有 CSS 类的 SELECT 中的 OPTION