Javascript asp.net核心mvc控制器模型中未序列化表单数据
C#模型类Javascript asp.net核心mvc控制器模型中未序列化表单数据,javascript,c#,jquery,knockout.js,asp.net-core,Javascript,C#,Jquery,Knockout.js,Asp.net Core,C#模型类 public class SubCategoryTwoViewModel { public long Id { get; set; } public string SubCatTwoName { get; set; } public CategoryViewModel Category { get; set; } public SubCategoryOneViewModel SubCatOne { get; set; } public stri
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; }
}
这里是控制器方法
[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) {
}
});
var ajaxUrl=ApplicationRootUrl(“addeditsubcategory二”,“Category”);
var formData=new formData();
var totalFiles=document.getElementById(“子文件”).files.length;
对于(var i=0;i
一、 我在控制器中获得一些字段数据,但java脚本值未序列化到控制器模型
下面是示例的屏幕截图
在屏幕截图中,我得到的类别和子音调字段为null。但是处于活动状态,子脚本名称和文件字段已收到该值。我想在控制器模型对象中获取类别和子色调值。如何实现这一点。尝试直接添加对象将不起作用。相反,您可以通过添加具有正确名称的嵌套字段(用点分隔属性层次结构)来使用模型绑定。e、 g
您正在将
javascript
对象附加到FormData
键“SubCatTwoName”
和“Category”
。您在服务器上对密钥“SubCatTwoName”
和“Category”
的期望值是什么?我已在服务器端收到SubCatTwoName值。但是,我还没有收到Category的值。什么是console.log(Category)
log?对象{CategoryId:5}这是控制台输出未尝试asp.net核心
。您是否尝试过将category
传递给JSON.stringify()
?@Paul Hiles,这是否意味着我们无法在formData中发送JSON对象并通过asp.net核心操作中的模型正确处理它?
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) {
}
});
formData.append('Category.CategoryId', self.selectCategory());