【发布时间】:2010-03-30 16:31:37
【问题描述】:
我的表单中有一个项目列表,名称如下...
<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,其 id 等于输入 id 末尾的数字,值设置为输入字段上的值。
在 ASP.Net MVC 1.0 中,我可以遍历 bindingContext.ValueProvider.Keys 集合并检查 key.StartsWith("ListItem") 以查找此格式的所有输入项。
ASP.Net MVC 2 中的新 IValueProvider 接口没有键集合,我无法遍历该接口。 如何在 ASP.Net MVC 2 设计时访问这些我只知道前缀的值?
【问题讨论】: