/ / Błąd śledzenia stosu - asp.net-mvc

Błąd śledzenia stosu - asp.net-mvc

Otrzymuję komunikat o błędzie: Nie mogę stwierdzić, co jest nie tak. Czy ktoś może mi pomóc proszę. Dzięki.

Ślad stosu:

[NotSupportedException: Collection is tylko czytać.]
System.SZArrayHelper.Clear () +56
System.Web.Mvc.CollectionHelpers.ReplaceCollectionImpl (ICollection`1 kolekcja, IEnumerable newContents) +125

ExecuteStep (krok IExecutionStep, Boolean & completedSynchronously) +184

Mój kod to: Model:

 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; }
}

}

Kontroler

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();
}
}

Widoki

    <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>

Odpowiedzi:

5 dla odpowiedzi № 1

Zwykle używam list zamiast wektorów w modelach:

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