【发布时间】:2021-12-26 09:44:27
【问题描述】:
我有一些模型类:
public class Research
{
public int Id { get; set; }
public string Title { get; set; }
public string Abstract { get; set; }
public string Body { get; set; }
public string Image { get; set; }
[NotMapped]
public HttpPostedFileWrapper ImageFile { get; set; }
public virtual List<ResearchAuthors> ResearchAuthors { get; set; }
}
public class ResearchAuthors
{
public int Id { get; set; }
public int AuthorId { get; set; }
public int ResearchId { get; set; }
public Research Research { get; set; }
public Author Author { get; set; }
}
这是我如何获取要发送到控制器的数据的 jQuery 代码
var Research = {
Id: idInput.val(),
Title: titleInput.val(),
Abstract: abstractInput.val(),
ImageFile: imageInput.get(0).files[0],
Body: bodyInput.val()
};
// Research Authors
var ResearchAuthors = [];
$('#authors-tbody tr').each(function () {
var AuthorId = $(this).children('.id-td').text();
var Id = $(this).children('.researchAuthorsId-td').text();
var ResearchAuthor = {
AuthorId: AuthorId,
Id: Id,
ResearchId: idInput.val()
}
ResearchAuthors.push(ResearchAuthor)
});
控制器正在等待这个
public ActionResult Create(SaveResearchViewModel viewModel)
{
return Json(new { success = true, message = "Created Successfully" });
}
SaveResearchViewModel 代码:
public class SaveResearchViewModel
{
public Research Research { get; set; }
public List<ResearchAuthors> ResearchAuthors { get; set; }
}
我使用了formdata,但由于ResearchAuthors的列表,它无法工作,因为有要发送的数据图像,甚至无法字符串化
那么,为了在控制器中接收,使用所有不同数据类型 [Object, Object.Image, Arr[Object]] 的正确方法是什么?
【问题讨论】:
标签: c# jquery ajax asp.net-mvc form-data