gpt4 book ai didi

asp.net-mvc - asp.net MVC 显示模板和编辑器模板命名约定

转载 作者:行者123 更新时间:2023-12-03 22:54:54 25 4
gpt4 key购买 nike

我有几个关于 MVC 2 中 DisplayTemplates 和 EditorTemplates 的命名约定的问题。

例如,如果我有一个带有子帐户列表的客户对象,我该怎么做:

  • 为账户列表创建一个显示模板,文件叫什么?
  • 当我在做 foreach( var c in Model.Accounts )在 foreach 循环中如何调用显示寺庙?当我这样做时 Html.DisplayFor( x => x )在 foreach 内部 x是模型而不是在这种情况下 c .

  • 提前致谢。

    最佳答案

    是的,这是我最喜欢的功能之一,但它在某些方面有点令人困惑。

    因此,为任何类创建模板,名称基于类型的 Name 属性,例如,如果您在 View 中执行 <%= model.GetType().Name %> ,您可以理解我的意思。例如,如果您的帐户列表是 IList,则对该类型的 .Name 的调用将返回 List`1 .这是一个合法的文件名,所以如果你输入 List`1.ascx在您的 DisplayTemplates 文件夹中,它会找到并使用它。据我所知,它不会遍历类层次结构,例如,如果您将 IEnumerable`1.ascx 文件放在那里,它不会找到它。

    要在循环中显示,您需要将 item 变量传递到 lambda 中,因此在您的示例中:

    <% foreach (var c in Accounts){ %>
    <li><%= Html.DisplayFor(x => c) %></li>
    <%}%>

    希望有帮助。
    保罗

    关于asp.net-mvc - asp.net MVC 显示模板和编辑器模板命名约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2317039/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com