在HtmlHelper中使用LINQ来绑定@foreach之外的Collection的特定项

时间:2016-07-26 16:41:21

标签: c# asp.net-mvc linq razor asp.net-mvc-5

我正在使用Mvc 5.我们假设我有一个包含Collection的ViewModel,如下所示:

public class MyViewModel
{
    public ICollection<MyItem> MyItems { get; set; }
}

在View中,我希望能够使用LINQ表达式创建特定于此Collection的某个项的输入字段,如下所示:

@Html.TextBoxFor(x => x.MyItems.First(y => y.Name == "Hello").Id)

当然,这段代码无效,但有没有办法可以达到相同的效果,可能会创建一个自定义的HtmlHelper?

1 个答案:

答案 0 :(得分:1)

我想我明白你在做什么,但是你的原帖并不是很清楚。为什么不将完整列表发送到视图,只是迭代列表中的所有项目,然后按照您想要的方式绑定每个项目。这是一个可能对您有用的旧链接haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx