ASP.NET MVC。如何使用 DisplayNameFor 创建表格标题和正文?

2024-02-12

如何使用获取属性显示名称DisplayNameFor()构建表头。例如:

   @model IEnumerable<Item>
   <table class="table">
        <thead>
            <tr>
                <td>@Html.DisplayNameFor(? => ?.prop1)</td>
                <td>@Html.DisplayNameFor(? => ?.prop2)</td>
                <td>@Html.DisplayNameFor(? => ?.prop3)</td>
            </tr>
        </thead>
        <tbody>
            @foreach (Item item in Model) {
                <tr>
                    <td>@Html.DisplayFor(i => item.prop1)</td>
                    <td>@Html.DisplayFor(i => item.prop2)</td>
                    <td>@Html.DisplayFor(i => item.prop3)</td>
                </tr>
            }    
        </tbody>
    </table>

问号里应该写什么?


DisplayNameFor() has an overload https://msdn.microsoft.com/en-us/library/system.web.mvc.html.displaynameextensions.displaynamefor(v=vs.118).aspx#M:System.Web.Mvc.Html.DisplayNameExtensions.DisplayNameFor%60%602%28System.Web.Mvc.HtmlHelper%7BSystem.Collections.Generic.IEnumerable%7B%60%600%7D%7D,System.Linq.Expressions.Expression%7BSystem.Func%7B%60%600,%60%601%7D%7D%29接受IEnumerable<T>所以它只需要

<td>@Html.DisplayNameFor(m => m.prop1)</td>

请注意,这仅适用于模型所在的位置Enumerable<T>(在你的情况下@model IEnumerable<Item>).

但如果模型是一个包含属性的对象,则该模型将不起作用IEnumerable<T>.

例如,以下内容将不起作用

<td>@Html.DisplayNameFor(m => m.MyCollection.prop1)</td>

它需要是

<td>@Html.DisplayNameFor(m => m.MyCollection.FirstOrDefault().prop1)</td>

即使集合不包含任何项目,它也会起作用。

旁注:在某些情况下,您最初可能会遇到剃刀错误,但您可以忽略它。一旦运行该应用程序,该错误就会消失。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC。如何使用 DisplayNameFor 创建表格标题和正文? 的相关文章

  • 在结构中使用 typedef 枚举并避免类型混合警告

    我正在使用 C99 我的编译器是 IAR Embedded workbench 但我认为这个问题对于其他一些编译器也有效 我有一个 typedef 枚举 其中包含一些项目 并且我向该新类型的结构添加了一个元素 typedef enum fo
  • ASP.NET MVC:这个业务逻辑应该放在哪里?

    我正在开发我的第一个真正的 MVC 应用程序 并尝试遵循一般的 OOP 最佳实践 我正在将控制器中的一些简单业务逻辑重构到我的域模型中 我最近一直在阅读一些内容 很明显我应该将逻辑放在域模型实体类中的某个位置 以避免出现 贫血域模型 反模式
  • 嵌套接口:将 IDictionary> 转换为 IDictionary>?

    我认为投射一个相当简单IDictionary
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • HttpContext.GetGlobalResourceObject 始终返回 null

    我在 App GlobalResources 文件夹中创建了两个文件 SiteResources en US resx SiteResources sp SP resx 两者都包含 SiteTitleSeparator 的值 这是我想要做的
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何序列化/反序列化自定义数据集

    我有一个 winforms 应用程序 它使用强类型的自定义数据集来保存数据进行处理 它由数据库中的数据填充 我有一个用户控件 它接受任何自定义数据集并在数据网格中显示内容 这用于测试和调试 为了使控件可重用 我将自定义数据集视为普通的 Sy
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • 如何将带有 IP 地址的连接字符串放入 web.config 文件中?

    我们当前在 web config 文件中使用以下连接字符串 add name DBConnectionString connectionString Data Source ourServer Initial Catalog ourDB P
  • 将控制台重定向到 .NET 程序中的字符串

    如何重定向写入控制台的任何内容以写入字符串 对于您自己的流程 Console SetOut http msdn microsoft com en us library system console setout aspx并将其重定向到构建在
  • 是否可以在 .NET Core 中将 gRPC 与 HTTP/1.1 结合使用?

    我有两个网络服务 gRPC 客户端和 gRPC 服务器 服务器是用 NET Core编写的 然而 客户端是托管在 IIS 8 5 上的 NET Framework 4 7 2 Web 应用程序 所以它只支持HTTP 1 1 https le
  • 如何防止用户控件表单在 C# 中处理键盘输入(箭头键)

    我的用户控件包含其他可以选择的控件 我想实现使用箭头键导航子控件的方法 问题是家长控制拦截箭头键并使用它来滚动其视图什么是我想避免的事情 我想自己解决控制内容的导航问题 我如何控制由箭头键引起的标准行为 提前致谢 MTH 这通常是通过重写

随机推荐

  • Visual Studio 2010 书签问题

    当我使用书签窗口在编辑器代码中创建书签时 添加方法 删除语句等一段时间 然后我重新打开 IDE 书签的行号是错误的 任何想法 解决此问题的一种方法是在完成代码编写之前不要关闭 Visual Studio 如果程序仍在运行 书签将会更新 但如
  • Xamarin 4 中旧的 ListView 和新的 CollectionView 有什么区别?

    我不明白新版本 4 0 的 Xamarin Form 中旧 ListView 和新 CollectionView 之间有什么不同 为什么使用 CollectionView 更好 我在微软文档中找到了帮助 但没有看到更好的东西 public
  • 在 Mathematica 中写入文件时格式化数字

    这是一个延续this https stackoverflow com q 4943706 181759关于数字格式的问题 与我之前的相关question https stackoverflow com q 1687705 181759关于获
  • 网站上下文中的 NServiceBus Publish() 与 Send()

    我希望更好地理解为什么建议不要使用 NServiceBus 来自网站的 Publish 消息 NServiceBus 文档 http docs particular net 向下滚动约三分之二 它对于 Publish 事件和 Send 命令
  • Numpy:沿指定轴重塑数组

    我有以下数组 x np arange 24 reshape 2 3 2 2 array 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 我想将其重塑为 3 4 2
  • Java8 中的 GroovyShell:内存泄漏/重复的类 [提供源代码 + 负载测试]

    我们有一个由 GroovyShell Groovy 脚本引起的内存泄漏 请参阅最后的 GroovyEvaluator 代码 主要问题是 从 MAT 分析器复制粘贴 类 java beans ThreadGroupContext 由 占用 8
  • 使用 sklearn 进行网格搜索的显式(预定义)验证集

    我有一个数据集 之前已分为 3 组 训练 验证和测试 这些集合必须按给定的方式使用 以便比较不同算法的性能 我现在想使用验证集优化 SVM 的参数 但是 我找不到如何将验证集显式输入到sklearn grid search GridSear
  • 防止 require(...) 在父目录中查找模块

    我的 Node 项目的根目录所在的目录本身就是另一个 Node 项目的根目录 所以两个文件夹都包含package json and node modules 问题是 在内部项目中 有时我require该项目中未安装模块 但 Node 只是默
  • NHibernate 过滤子集合延迟加载,即使指定了急切获取

    我试图找出为什么即使急切加载集合并且生成的 SQL 是正确的 也会在没有过滤的情况下返回子集合 类的流畅映射是 public class OptionIdentifierMap ClassMap
  • jstree问题

    我使用 XML 作为 JSTree 树的数据源 但我找不到任何示例 您可以在 XML 中将节点设置为超链接 或者在任何地方使用自己的图标设置自己的节点类型等 有人这样做过吗 有例子吗 我想你正在寻找jsTree 类型插件文档 http ww
  • SQL Server group by 吸收 null 和空值

    我有这个数据 Id Name amount Comments 1 n1 421762 Hello 2 n2 421 Bye 3 n2 262 null 4 n2 5127 每个名称可能有也可能没有带有空注释或空注释的额外行 如何按名称和总和
  • 如何使用 Cloudbees Jenkins 构建执行繁重任务

    我正在尝试在 Cloudbees 上构建并运行 Jenkins 我已经成功安装了 NodeJs 并从 BitBucket 存储库中提取了源代码 我正在尝试运行我的 grunt 任务来在部署之前缩小并连接我的 JS 和 CSS 文件 但是 即
  • 为什么 MouseEnter 和 MouseLeave 不可靠?

    根据this https stackoverflow com questions 12552809 问题 的answer https stackoverflow com questions 12552809 mousehover and m
  • Django 作为反向代理

    我的客户端 服务器应用程序主要基于特殊用途的http服务器 它以类似Ajax的方式与客户端进行通信 即 客户端 GUI 根据异步 http 请求 响应周期刷新 专用 http 服务器的可进化性是有限的 并且随着应用程序的增长 需要越来越多的
  • 虚函数和 boost 绑定奇怪的行为

    我在 Linux 下编写的一段代码中看到了一个奇怪的行为 我想分享它 看看是否有人知道其原因 我有一个基类和一个派生类 在基类中 我定义了一个虚拟方法 在派生类中 我使用相同的签名重新定义了该方法 然后我使用 boost bind 来启动一
  • Gremlin 找到最高匹配

    我计划使用图形数据库 AWS Neptune 可以使用 Gremlin 作为一种知识库进行查询 知识库将用作具有多个特征的实体的分类工具 为简单起见 我在本示例中使用几何形状来编码实体的属性 假设我想对与正方形 三角形和圆形相关的点进行分类
  • 什么是console.log?

    有什么用console log 请通过代码示例解释如何在 JavaScript 中使用它 它不是 jQuery 功能 而是用于调试目的的功能 例如 当发生某些情况时 您可以将某些内容记录到控制台 例如 someButton click fu
  • App Engine 上的前端实例小时数是如何计算的?

    我构建了一个简单的在线订购应用程序 它可能每周处理 25 小时 其中大部分是在周一和周二 查看仪表板 我看到 Billing Status Free Settings Quotas reset every 24 hours Next res
  • 访问嵌套对象时 Vue 发出警告

    我不知道为什么在访问嵌套对象时会收到 Vue 警告 user area name Vue warn 渲染错误 TypeError 无法读取未定义的属性 名称 类型错误 无法读取未定义的属性 名称 仅访问该对象没有任何警告 user name
  • ASP.NET MVC。如何使用 DisplayNameFor 创建表格标题和正文?

    如何使用获取属性显示名称DisplayNameFor 构建表头 例如 model IEnumerable