堆栈跟踪错误

时间:2010-07-13 06:35:08

标签: asp.net-mvc

我收到错误消息:我无法弄清楚出了什么问题。有谁可以帮助我吗。感谢。

  
    

堆栈追踪:

  
     

[NotSupportedException:Collection is   只读]
  System.SZArrayHelper.Clear()+56
  System.Web.Mvc.CollectionHelpers.ReplaceCollectionImpl(ICollection`1   集合,IEnumerable newContents)   125

     

ExecuteStep(IExecutionStep步骤,   布尔和放大器; completedSynchronously)+184

我的代码是: 型号:

 namespace TestArrays.Models
{
    public class Person
    {
        public CategoriesRow[] Categories { get; set; }
        public Person()
        {

            Categories = new CategoriesRow[1];
            Categories[0] = new CategoriesRow();
            Categories[0].Name = "Bug";
            Categories[0].ID = "0";
        }
    }

    public class CategoriesRow
    {
        public String Name { get; set; }
        public String ID { get; set; }
    }

}

控制器

public ActionResult Create()
    {
        return View(new Person());
    } 

    //
    // POST: /Person/Create

    [HttpPost]
    public ActionResult Create(Person person)
    {
        try
        {
            // TODO: Add insert logic here

            return RedirectToAction("Index");
        }
        catch
        {
            return View();
        }
    }

浏览

    <form id="Form" action="<%=Url.Action("Create",new{Action="Create"}) %>" method="post" enctype="multipart/form-data">
   <div id="categoriessection" >
            <h3>Categories</h3>
            <ul class= "list"  id="categoryList">
            <%if (Model.Categories!=null) {%> 
            <%int count = 0; %>
                <%foreach (var category in Model.Categories)
                 {%>
                 <%if (!String.IsNullOrEmpty(category.Name))                   
                   {%>
                    <li><input type="hidden" name="Categories.Index" value="<%=count%>" />
                        <input type="text" value="<%=category.Name%>"  name="Categories[<%=count%>].Name" style="width:280px"/>
                        <input type="hidden" value="<%=category.ID%>"  name="Categories[<%=count++%>].ID" style="width:280px"/>
                        <input type="button" value = "Delete"/>
                    </li>
                    <%}
                     %>
                 <%} %>
             <%} %>            
                <li> <input type="hidden" name="Categories.Index" value="value0" />
                 <input type="text" value=""  name="Categories[value0].Name" style="width:280px"/>
                  <input type="hidden" value=""  name="Categories[value0].ID" style="width:280px"/>
                     <input type="button"  value= "Add" />
                </li>
             </ul>
        </div>

         <div>
         <input  type ="submit" value="Save" id="save" /> 
         </div>
         </form>

1 个答案:

答案 0 :(得分:5)

我通常在模型中使用列表而不是向量:

public List<CategoriesRow> Categories { get; set; }