我正在尝试为购物篮项目列表制作自定义模板。我需要一些不同的模板,因为我有不同的显示项目的方式,这取决于它是在网页上还是在邮件中。现在我的问题是,当我使用默认名称时,它可以完美运行。
@Html.DisplayFor(b => b.Items)
但是,当我尝试添加模板名称时,我期望我的模板需要是列表类型 IEnumerable 而不是 BasketItem。
@Html.DisplayFor(i => basket.Items, "CustomerItemBaseList")
任何我的错误所在或为什么不可能的想法都值得赞赏。谢谢。
最佳答案
不幸的是,这是模板化助手的局限性。如果您为集合属性指定模板名称,则模板不再自动应用于集合的每个项目。可能的解决方法:
@for (int i = 0; i < Model.Items.Length; i++)
{
@Html.DisplayFor(x => x.Items[i], "CustomerItemBaseList")
}
关于asp.net-mvc - MVC 3 多个 DisplayFor-Templates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5833977/