C#模型类
这是CategoryViewModel。
这是控制器方法。
这是一个使用表单数据序列化数据并发送至控制器方法的Ajax调用。
我正在控制器中获取一些字段数据,但JavaScript值未序列化到控制器模型中。下面是一个示例的截图:
在屏幕截图中,我得到了类别和SubCatOne字段为空。但是active,SubCatTwoName和File字段已经获得了值。我想在控制器模型对象中获取Category和SubCatOne的值。如何实现这一点?
public class SubCategoryTwoViewModel
{
public long Id { get; set; }
public string SubCatTwoName { get; set; }
public CategoryViewModel Category { get; set; }
public SubCategoryOneViewModel SubCatOne { get; set; }
public string PictureUrl { get; set; }
public List<IFormFile> File { get; set; }
public UserViewModel AddedBy { get; set; }
public DateTime AddedOn { get; set; }
public UserViewModel Updated_By { get; set; }
public DateTime? UpdatedOn { get; set; }
public bool Active { get; set; }
}
这是CategoryViewModel。
public class CategoryViewModel
{
public long CategoryId { get; set; }
}
这是控制器方法。
[HttpPost]
public JsonResult AddEditSubCategoryTwo(SubCategoryTwoViewModel model)
{
}
这是一个使用表单数据序列化数据并发送至控制器方法的Ajax调用。
var ajaxUrl = ApplicationRootUrl("AddEditSubCategoryTwo", "Category");
var formData = new FormData();
var totalFiles = document.getElementById("subCatFile").files.length;
for (var i = 0; i < totalFiles; i++) {
var file = document.getElementById("subCatFile").files[i];
formData.append("File", file);
}
formData.append('SubCatTwoName', self.subCatTwoName());
var category = {
CategoryId: self.selectCategory()
};
formData.append('Category', category);
var subCatOne= {
SubCategoryOneId: self.selectCategorytwo()
};
formData.append('SubCatOne', subCatOne);
formData.append('Active', self.active());
$.ajax({
type: "POST",
contentType: false,
processData: false,
url: ajaxUrl,
data: formData,
dataType: "json",
success: function (data) {
}
});
我正在控制器中获取一些字段数据,但JavaScript值未序列化到控制器模型中。下面是一个示例的截图:
![Data of some field](https://istack.dev59.com/SvAJX.webp)
console.log(category)
会打印出什么内容? - undefinedasp.net-core
。你试过将category
传递给JSON.stringify()
吗? - undefined