MVC で作業する FormModel があります。
public class FormModel
{
public string Description { get; set; }
public List<CustomList> CustomList { get; set; }
public FormModel(){}
}
FormModel クラスは、クラス CustomList のリストで構成されます。
public class CustomList
{
public int CustomListId { get; set; }
public string Description { get; set; }
public List<String> StringList{ get; set; }
public CustomerList(){}
}
文字列のリストが含まれています。私が達成したいのは、ユーザーが StringList の各値を編集できるようにするフォームを設定することです。そのために、ビューを設定しました。
@model CMS.Models.FormModel
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using(Html.BeginForm("DoStuff", "Create", Model))
{
<div>
<p>Description: @(Html.EditorFor(e => e.Description))</p>
@for (int i = 0; i < Model.CustomList.Count; i++)
{
@Html.LabelFor(l => l.CustomList[i].Description)
@Html.HiddenFor(h => h.CustomList[i].CustomListId)
for (int a = 0; a < Model.CustomList[i].StringList.Count; a++)
{
@Html.EditorFor(e => e.CustomList[i].StringList[a])
}
}
<input type="submit" />
<div>
}
送信時に、FormModel の説明がコントローラーに返されますが、CustomList は空に返されます。Joe Stevens からのリンクをいくつか確認しましたが、何かが足りないようです。どんな助けでも大歓迎です。