Asp.net mvc 主干存储,服务器上未接收模型数据
我正在使用ASP.NETMVC的主干网。我想将模型保存到服务器 文件夹模型 })) 在视图中保存文件夹代码 注意:成功和错误警报从不触发。 当我签入Fiddler时,发送的JSON是- 然而,服务器端的控制器接收到一个空文件夹对象- 服务器上的文件夹类-Asp.net mvc 主干存储,服务器上未接收模型数据,asp.net-mvc,json,post,backbone.js,controller,Asp.net Mvc,Json,Post,Backbone.js,Controller,我正在使用ASP.NETMVC的主干网。我想将模型保存到服务器 文件夹模型 })) 在视图中保存文件夹代码 注意:成功和错误警报从不触发。 当我签入Fiddler时,发送的JSON是- 然而,服务器端的控制器接收到一个空文件夹对象- 服务器上的文件夹类- 公共类文件夹 { 公共int?FolderId{get;set;} 公共int用户id; 公共字符串FolderName; 公共文件可由他人编辑; 公共IList文件; } 我真的不能指出这里有什么可疑之处。不过,我又是一个骨气十足的新手,所
公共类文件夹
{
公共int?FolderId{get;set;}
公共int用户id;
公共字符串FolderName;
公共文件可由他人编辑;
公共IList文件;
}
我真的不能指出这里有什么可疑之处。不过,我又是一个骨气十足的新手,所以我很容易错过一些东西。有人知道怎么回事吗?主要问题是模型上有公共字段,而不是属性。简单的问题,不太容易找到。这篇文章帮助了我-主要问题是模型上有公共字段,而不是属性。简单的问题,不太容易找到。这篇文章帮助了我-如果您确认它是通过ajax发送的,那么这个问题似乎是服务器端,而不是客户端-否?是的,似乎是这样。但我两端的模型确实匹配,所以我不确定我可能做错了什么。JSON对您来说合适吗?是否需要类似{“文件夹”:{“文件”:[],“FolderName”:“新建”,“其他人可编辑”:“Y”}?也没有成功或错误回调。如果您确认它是通过ajax发送的,那么这个问题似乎是服务器端,而不是客户端-否?是的,似乎是这样。但我两端的模型确实匹配,所以我不确定我可能做错了什么。JSON对您来说合适吗?是否需要类似于{“文件夹”:{“文件”:[],“FolderName”:“新建”,“其他人可编辑”:“Y”}之类的内容?同时也不会到达成功或错误回调。
Folder = Backbone.RelationalModel.extend({
url: "/SaveFolder",
relations: [
{
type: Backbone.HasMany,
key: 'Files', /*key should match the JSON name*/
relatedModel: 'FileModel',
collectionType: 'FileCollection',
}
],
idAttribute: "FolderID"
var newFolder = new Folder();
newFolder.set("FolderName", newFolderName);
newFolder.set("EditableByOthers", "N");
newFolder.save({
success: function(model, response, options) {
alert("success"); //not reached
},
error: function (model, xhr, options) {
alert("error"); //not reached
}
});
{"Files":[],"FolderName":"new","EditableByOthers":"Y"}
[HttpPost]
public ActionResult SaveFolder(Folder newFolder) //All properties of newFolder are null, or "N" in case of boolean
{
string name = newFolder.FolderName;
return null;
}
public class Folder
{
public int? FolderId { get; set; }
public int UserId;
public string FolderName;
public bool EditableByOthers;
public IList<File> Files;
}