MVC显示用于模板选择



我在MVC中说得对吗?如果我有一个模型实体,比如说Customer,并且我使用

@Html.DisplayFor(x=>x.Customer)

它将寻找一个"命名"客户的显示模板来显示实体?

而且,如果你传递给模板的对象是IEnumerable或某种集合,MVC会自动执行迭代吗?例如

@Html.DisplayFor(x => x.AllCustomers)

因此,如果我想为Customer创建一个额外的视图并强制助手使用它,比如

@Html.DisplayFor(x => x.AllCustomers, "MyCustomTemplate")

那么该模板必须是IEnumerable类型的强类型视图,对吗?我必须自己创建迭代代码吗?

如果MVC识别出模型实体与视图的模型类型匹配,那么它似乎就完成了迭代。

它将寻找一个"命名"客户的显示模板来显示实体?

是的。如果找不到object,它将使用默认的显示模板。

而且,如果你传递给模板的对象是IEnumerable或某种集合,MVC会自动执行迭代吗?

该框架使用IEnumerable<T>的内置模板来执行迭代,因此从技术上讲是的。

那么该模板必须是IEnumerable类型的强类型视图,对吗?

正确。

我必须自己创建迭代代码吗?

你是对的。指定自定义显示模板名称后,框架将使用您的模板而不是默认模板,因此它必须是IEnumerable<T>的类型。

相关内容

  • 没有找到相关文章

最新更新