Обычно, если мы хотим связать список с нашей моделью представления, нам нужно сделать что-то вроде:
public class ViewModel
{
public List<SomeModel> MyList { get; set; }
}
@for (int i = 0; i < Model.MyList.Count; i++)
{
<input asp-for="MyList[i].SomeProp" ..>
}
, который дает элементы с именами, такими как MyList[0].SomeProp
или MyList_0__SomeProp
.
Но что, если мой список сначала пуст и я хочу заполнить его на стороне клиента (пользователь может добавить столько элементов, сколько он хочет).
Нужно ли поддерживать индекс (который ДОЛЖЕН начинатьсяв 0) и когда пользователь добавляет элемент, который я называю так?Дело в том, что если пользователь удаляет элемент, то я должен переупорядочить индексы, верно?
Есть ли способ привязки к списку в нашей модели представления без необходимости использования индексации, некоторые, например, MyList[].SomeProp
напрямую(хотя я не думаю, что сервер будет знать, как разделить элементы в этом случае).
Спасибо.