У меня есть следующие C# модели, но они не получают Id или AssigneeId населенную из JSON любая помощь пожалуйста ?:Возникли проблемы Deserialising модель JSON в контроллере
public class AssignModel
{
[Required]
public Guid Id { get; set; }
public bool Clear { get; set; }
public string AssigneeId { get; set; }
}
public class MassAssignModel
{
[Required]
public List<AssignModel> Tickets { get; set; }
}
public ActionResult MassAssign(MassAssignModel model)
{
//DO stuff here
}
Я стараюсь, чтобы они населены десериализации JSON, но он никогда не получает значений. Вот мой JavaScript, первый вызов метода является massAssign():
function massAssign() {
assignTicketsTo(getSelectedTicketsIds());
}
function getSelectedTicketsIds() {
var tickets;
var selected = $('.selected-ticket:checked');
tickets = selected.map(function() {
return { Id: this.value, AssigneeId: "COMPONENTS\ASTANNARD", Clear:false };
}).get();
return tickets;
}
function assignTicketsTo(selectedTicketsIds) {
var postdata = JSON.stringify({
Tickets: [selectedTicketsIds]
});
$.ajax({
url: Helper.Util.action({ controller: "Ticket", action: "MassAssign" }),
dataType: 'json',
data: postdata,
type: 'post',
success: function (data, textStatus, jqXHR) {
},
error: function (jqXHR, textStatus, errorThrown) {
$("#load_tickets").hide();
Helper.alert(errorThrown);
}
});
}
Привет Я сделал изменения типа контента, но это не имеет никакого значения, я думаю, что не так или иначе, но не исправить мою проблему –
Пожалуйста, выйдите из в 'postdata' перед '$ .ajax' и включите его в свой пост. – nemesv
Возможно, теперь я вижу ... ваши 'selectedTicketsIds' уже представляют собой массив, поэтому вам не нужно снова его обертывать' [selectedTicketsIds] '. Пожалуйста, попробуйте его с помощью 'var postdata = JSON.stringify ({ Билеты: selectedTicketsIds });' вместе с приложением 'contentType: '/ json'' – nemesv