【发布时间】:2010-06-16 01:34:57
【问题描述】:
我有一个模型,我正在使用 ajax.post。我可以看到模型绑定没有为我的模型中的数组列表完成,尽管绑定是为 int 或 string 类型的属性完成的。为什么呢?我的代码如下。
我有一个具有以下属性的模型
public class ProjectModel
{
public int ID { get; set; }
public ArrayList Boys= new ArrayList();
}
在我看来我有
$(document).ready(function () {
var project = new Object();
var Boys= new Array();
var ID;
.......
ID = $('#ID').val();
project.Boys= Boys;
.....
$.ajax({
type: "POST",
url: '<%=Url.Action("Create","Project") %>',
data: JSON.stringify(project),
contentType: "application/json; charset=utf-8",
dataType: "html",
success: function () {
},
error: function (request, status, error) {
}
});
//
我的控制器
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(ProjectModel project)
{
try
{
project.CreateProject();
return RedirectToAction("Index");
}
....
【问题讨论】:
-
ArrayList不是通用的。您打算在里面存储什么类型的对象?在您需要定义Boy类型的每个属性的情况下,通用的List<Boy>或Boy[]会更合适。 -
你能用一个例子解释一下吗?我正在视图中填充数组并希望拥有数组模型绑定。实际上我可以看到从视图发送的值没有绑定到模型,并且数组仍然具有已经实例化的值。我该如何解决这个问题?
标签: asp.net-mvc model-view-controller