获取JavaScript数组对象以绑定到ViewModel的.Net核心列表

时间:2018-03-31 14:01:28

标签: vue.js .net-core ecmascript-5

我有一个JS对象数组,在Post时包含每个对象三个变量:

ParticipantId,
Answer,
ScenarioId

在发布期间,有一个大小为8的数组(当前无论如何)都正确包含数据。当我调用post请求时,Controller会在断点触发时遇到命中,问题是当我查看List<SurveyResponse> participantScenarios时它显示为0值。

我一直很难理解的是JS和.Net之间的神奇沟通和转换,所以我很难看到它出错的地方。

我的JS电话:

postResponse: function () {
            var data = JSON.stringify({ participantScenarios: this.scenarioResponses})
            // POST /someUrl
            this.$http.post('ScenariosVue/PostScenarioChoices', data).then(response => {
                // success callback
            }, response => {
                // error callback
            });
        }

我的.Net核心控制器

[HttpPost("PostScenarioChoices")]
        public async Task<ActionResult> PostScenarioChoices(List<SurveyResponse> participantScenarios)
        {
            List<ParticipantScenarios> addParticipantScenarios = new List<ParticipantScenarios>();

            foreach(var result in participantScenarios)
            {
                bool temp = false;
                if(result.Answer == 1)
                {
                    temp = true;
                }
                else if (result.Answer == 0)
                {
                    temp = false;
                }
                else
                {
                    return StatusCode(400);
                }

                addParticipantScenarios.Add(new ParticipantScenarios
                {
                    ParticipantId = result.ParticipantId,
                    Answer = temp,
                    ScenarioId = result.ScenarioId
                });
            }
            try
            {
                await _context.ParticipantScenarios.AddRangeAsync(addParticipantScenarios);
                await _context.SaveChangesAsync();
                return StatusCode(201);
            }
            catch
            {
                return StatusCode(400);
            }
        }

0 个答案:

没有答案