我正在尝试将一些 JSON 形式的数据从我的 ajax 帖子发送到 C# 中的 Controller 方法。虽然我没有得到任何数据。我正在验证数据是否存在,因此在 ajax 的第二位之前有一个 console.log(data.model) 来执行此操作。不管怎样,模型在 C# 方面始终为 null。
Javascript 帖子:
$.ajax({
data: model,
cache: false,
type: 'post',
traditional: true,
url: mod.RespondentsTableUrl,
success: function (data) {
console.log(data.model);
if (data.success) {
$('table.coldListTable').dataTable().fnRefreshTable(data.model);
$('#numberOfResults').text(data.model.length);
if (thereAreFiltersInPlace(model)) {
$('#coldListFilterForm div.alert-container > div.nNote > p').text(String.format(Culture.Phrases.FiltersNoteFormat, data.model.length));
$('#coldListFilterForm div.alert-container > div.nNote.dn').removeClass('dn');
}
else {
$('#coldListFilterForm div.alert-container > div.nNote').addClass('dn');
}
console.log(JSON.stringify(data.model));
$.ajax({
data: JSON.stringify(data.model),
cache: false,
type: 'post',
url: 'Respondents/DownloadCSV',
});
}
else {
errorDialog();
}
},
error: errorDialog,
complete: function () {
//unhide cold list / filters, hide loader div.
$('#loader').addClass('dn');
}
});
型号:
public class RespondentCoreDataViewModel
{
public RespondentsData[] RepondentsCore { get; set; }
}
public class RespondentsData
{
public string Class { get; set; }
public Data Data { get; set; }
public int Id { get; set; }
public string Url { get; set; }
public object HtmlAttributes { get; set; }
public bool IsLocked { get; set; }
}
public class Data
{
public string Name { get; set; }
public string Source { get; set; }
public object Email { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Gender { get; set; }
public string Ethnicity { get; set; }
public string Age { get; set; }
public string LastRecruiter { get; set; }
public string OwningRecruiter { get; set; }
public string RecruitingGroup { get; set; }
public string LastActionDate { get; set; }
public string Status { get; set; }
public string _class { get; set; }
public string url { get; set; }
public int Id { get; set; }
public long created { get; set; }
}
Controller 方法:
[HttpPost]
public ActionResult DownloadCSV(RespondentCoreDataViewModel model )
{
....random code in here
}
最后是 Json String,以防有人感兴趣:
[{"Class":"respondent clickable gradeA","Data":{"Name":"John Keys","Source":"<span style=\"display:none;\" >Database</span><i class=\"tipN icon-tasks\" original-title=\"Database\"></i>","Email":null,"City":"","State":"","Gender":"","Ethnicity":"","Age":"","LastRecruiter":"Ben Mabry","OwningRecruiter":"Ben Mabry","RecruitingGroup":"Board 2- Competitive Users","LastActionDate":"<span class=\"dn\">20131008175555</span>10/8 5:55 PM","Status":"<span style=\"display:none;\" >Completed</span><i class=\"tipN icon-check\" original-title=\"Completed\"></i>","class":"respondent clickable gradeA","url":"/Projects/644/Respondents/260619/Overview","Id":260619,"created":1386796133808},"Id":260619,"Url":"/Projects/644/Respondents/260619/Overview","HtmlAttributes":null,"IsLocked":false},{"Class":"respondent clickable gradeA","Data":{"Name":"Jim Walser","Source":"<span style=\"display:none;\" >Database</span><i class=\"tipN icon-tasks\" original-title=\"Database\"></i>","Email":null,"City":"","State":"","Gender":"","Ethnicity":"","Age":"","LastRecruiter":"Ben Mabry","OwningRecruiter":"Ben Mabry","RecruitingGroup":"Board 2- Competitive Users","LastActionDate":"<span class=\"dn\">20131008175529</span>10/8 5:55 PM","Status":"<span style=\"display:none;\" >Completed</span><i class=\"tipN icon-check\" original-title=\"Completed\"></i>","class":"respondent clickable gradeA","url":"/Projects/644/Respondents/260620/Overview","Id":260620,"created":1386796133808},"Id":260620,"Url":"/Projects/644/Respondents/260620/Overview","HtmlAttributes":null,"IsLocked":false},{"Class":"respondent clickable gradeA","Data":{"Name":"Jill Lellis","Source":"<span style=\"display:none;\" >Database</span><i class=\"tipN icon-tasks\" original-title=\"Database\"></i>","Email":null,"City":"","State":"","Gender":"","Ethnicity":"","Age":"","LastRecruiter":"Luanne Jones","OwningRecruiter":"Luanne Jones","RecruitingGroup":"Board 1-Mission Brand","LastActionDate":"<span class=\"dn\">20131009110258</span>10/9 11:02 AM","Status":"<span style=\"display:none;\" >Completed</span><i class=\"tipN icon-check\" original-title=\"Completed\"></i>","class":"respondent clickable gradeA","url":"/Projects/644/Respondents/260621/Overview","Id":260621,"created":1386796133808},"Id":260621,"Url":"/Projects/644/Respondents/260621/Overview","HtmlAttributes":null,"IsLocked":false},{"Class":"respondent clickable gradeA","Data":{"Name":"Charlie Neese","Source":"<span style=\"display:none;\" >Database</span><i class=\"tipN icon-tasks\" original-title=\"Database\"></i>","Email":null,"City":"","State":"","Gender":"","Ethnicity":"","Age":"","LastRecruiter":"Luanne Jones","OwningRecruiter":"Luanne Jones","RecruitingGroup":"Board 2- Competitive Users","LastActionDate":"<span class=\"dn\">20131009112301</span>10/9 11:23 AM","Status":"<span style=\"display:none;\" >Completed</span><i class=\"tipN icon-check\" original-title=\"Completed\"></i>","class":"respondent clickable gradeA","url":"/Projects/644/Respondents/260622/Overview","Id":260622,"created":1386796133808},"Id":260622,"Url":"/Projects/644/Respondents/260622/Overview","HtmlAttributes":null,"IsLocked":false},{"Class":"respondent clickable gradeA","Data":{"Name":"Tara Reid","Source":"<span style=\"display:none;\" >Database</span><i class=\"tipN icon-tasks\" original-title=\"Database\"></i>","Email":null,"City":"","State":"","Gender":"","Ethnicity":"","Age":"","LastRecruiter":"Luanne Jones","OwningRecruiter":"Luanne Jones","RecruitingGroup":"Board 2- Competitive Users","LastActionDate":"<span class=\"dn\">20131009112221</span>10/9 11:22 AM","Status":"<span style=\"display:none;\" >Completed</span><i class=\"tipN icon-check\" original-title=\"Completed\"></i>","class":"respondent clickable gradeA","url":"/Projects/644/Respondents/260623/Overview","Id":260623,"created":1386796133808},"Id":260623,"Url":"/Projects/644/Respondents/260623/Overview","HtmlAttributes":null,"IsLocked":false}]
最佳答案
我实际上有一个 similar problem.
我的解决方案是在 block 中:
success: function () {
//code here
}
您需要在此处输入成功函数的名称。示例:
success{
//code here
}
ajaxSuccess(result)
{
//code here
}
关于c# - Ajax传递过来的数据在C#中显示为null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20530166/