У меня есть список элементов в моей форме, которые названы так ...
<input type="text" id="ListItem1" name="ListItem1">
<input type="text" id="ListItem2" name="ListItem2">
<input type="text" id="ListItem3" name="ListItem3">
Я хочу создать пользовательский механизм связывания моделей, который преобразует их в модель с этой структурой ...
public class MyModel
{
public IEnumerable<MyModelItem> Items {get; set;}
}
public class MyModelItem
{
public int Id { get; set; }
public string Value { get; set; }
}
Таким образом, каждый ListItem должен быть преобразован в MyModelItem с идентификатором, равным числу в конце идентификатора ввода, и значением, установленным в значение в поле ввода.
В ASP.Net MVC 1.0 я мог бы перебрать коллекцию bindingContext.ValueProvider.Keys
и проверить на key.StartsWith("ListItem")
, чтобы найти все входные элементы в этом формате.
Новый интерфейс IValueProvider в ASP.Net MVC 2 не имеет коллекции ключей, и я не могу перебрать этот интерфейс. Как получить доступ к этим значениям, для которых я знаю только префикс во время разработки в ASP.Net MVC 2?