Я хочу, чтобы пользователь ввел список чисел в сетке, вроде бинго-карты.
Моя модель состоит из «размера» (если 4, сетка будет 4 на 4) и списка «полевого» объекта. Поле состоит из свойств X, Y и Value.
public class MyGrid {
public List<MyField> Fields { get; set; }
public int Size { get; set; }
public MyGrid() {
Size = 9;
Fields = new List<MyField>();
for (int y = 0; y < Size; y++) {
for (int x = 0; x < Size; x++) {
Fields.Add(new MyField { X = x, Y = y });
}
}
}
}
public class MyField {
public int X { get; set; }
public int Y { get; set; }
public int Value { get; set; }
public MyField() {}
}
Теперь я хочу, чтобы мой вид отображал сетку текстовых полей.
@model MyGrid
@using (Html.BeginForm("Initialize", "MyGrid")) {
<table>
@for (int y = 0; y < Model.Size; y++) {
<tr>
@for (int x = 0; x < Model.Size; x++) {
<td>
@Html.TextBoxFor(s => s.Fields.Where(f => f.X == x && f.Y == y).First().Value)
</td>
}
</tr>
}
</table>
<button type="submit">Submit</button>
}
Пока это работает. Но все текстовые поля имеют идентификатор «Значение» источника.
Есть ли способ создать эту сетку, чтобы я мог отправить всю сетку в одну модель?