【发布时间】:2020-06-11 05:28:58
【问题描述】:
这是我的 javascript,通过发送数据数组作为参数来加载部分视图。
$('body').on('click', '.btn-add-answer', function () {
var answerObj = Array.from(GetAnswerDetails(this));
var lastAnswer = answerObj[answerObj.length - 1];
var answers = {};
answers.Id = parseInt(lastAnswer.Id) + 1;
answers.FormQuestionId = lastAnswer.FormQuestionId;
answers.Text = "";
answers.IsCorrect = false;
answers.Score = null;
answers.QuestionAnswerId = 0;
answers.Sequence = 0;
answerObj.push(answers);
$("#survey-answer-container")
.load("LoadTest", answerObj);
});
这是我的控制器
public ActionResult LoadTest(List<AnswerDto> answers)
{
return PartialView("_SurveyPageSectionQuestionAnswer", answers);
}
这是我的 DTO
public class AnswerDto
{
public int Id { get; set; }
public string Text { get; set; }
public int Sequence { get; set; }
public bool? IsCorrect { get; set; }
public int? Score { get; set; }
public int FormQuestionId { get; set; }
public int QuestionAnswerId { get; set; }
}
问题是参数没有到达控制器。控制器中的 'answers' 参数只有默认值。
如何在部分视图加载中从 javascript 发送数据数组作为参数?
【问题讨论】:
-
您正在明确替换控制器上 DTO 的值...
-
@Gusman 这实际上是我的测试数据.. 忘记删除它.. 但问题保持不变
标签: javascript c# jquery asp.net-mvc