このように名前が付けられたフォーム内のアイテムのリストがあります...
<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 は、入力 ID の末尾の数字と等しい ID と入力フィールドの値に設定された値を持つ MyModelItem に変換する必要があります。
ASP.Net MVC 1.0 では、コレクションを繰り返し処理し、この形式のすべての入力項目を見つけるbindingContext.ValueProvider.Keys
ためにチェックすることができました。key.StartsWith("ListItem")
ASP.Net MVC 2 の新しい IValueProvider インターフェイスにはキー コレクションがなく、そのインターフェイスを反復処理できません。 ASP.Net MVC 2 で設計時にプレフィックスしか知らないこれらの値にアクセスするにはどうすればよいですか?