Привязка модели не работает для свойства selectedanswer
, поскольку оно объявлено как тип string
, и вы не отправляете строковое значение из кода на стороне клиента. Это будет работать нормально, если вы отправите строковое значение
var postdata = {
Email: "test1@mail.com",
selectedanswer: "{ 0: 3, 1: 2, 2: 0, 3: 3, 4: 1 }"
};
Хотя это может решить проблему привязки модели, это не является чистым решением вашей проблемы. Теперь в вашем методе действия вам нужно проанализировать эту строку и извлечь из нее элементы. Есть еще один чистый способ сделать это .
Похоже, вы хотите отправить список ответов и его идентификатор / индекс. Создайте модель представления, представляющую этот Strucutre, и используйте коллекцию этого в вашем классе UserModel.
public class UserModel
{
public string Email { get; set; }
public List<Answer> SelectedAnswers { set; get; }
}
public class Answer
{
public int QuestionId { set; get; }
public int AnswerId { set; get; }
}
Теперь отправьте массив элементов, каждый со значениями свойств QuestionId
и AnswerId
.
var postdata = { Email: "test1@mail.com",
SelectedAnswers : [
{ QuestionId:0, AnswerId:3 },
{ QuestionId:1, AnswerId:2 },
{ QuestionId:2, AnswerId:0 },
{ QuestionId:3, AnswerId:3 },
{ QuestionId: 4, AnswerId:1}
] };
// to do : send postdata