gpt4 book ai didi

c# - 如何使用 DisplayNameForModel?

转载 作者:行者123 更新时间:2023-11-30 12:26:22 27 4
gpt4 key购买 nike

我尝试将其用作 View 的 header ,但它返回一个空字符串。在 Razor 布局中,我有类似的东西:

@model IEnumerable<MVCApp.Models.Model>
<h2>@Html.DisplayNameForModel()</h2>

我是否需要对模型定义本身进行设置?我尝试了数据注释 [Display(Name="Model Name")] 但这是一个构建错误:

属性“显示”在此声明类型上无效。它仅对“方法、属性、索引器、字段、参数”声明有效。

文档 DisplayNameExtensions.DisplayNameForModel Method很简洁。语法要求一个参数,但是说:

方法“DisplayNameForModel”没有重载需要 1 个参数

如用法部分所述“当您使用实例方法语法调用此方法时,省略第一个参数”

那么,我该如何使用这个方法返回一些东西呢?

最佳答案

我刚刚在 VS2013 中使用了默认的 MVC 5 模板项目,并且 @Html.DisplayNameForModel() 正常工作。

首先,您在 View 模型上使用了错误的数据注释。您想使用 [DisplayName("My Model Name")] 而不是 [Display()]

[DisplayName("Test View Model")]
public class TestViewModel

{
public string TestProperty { get; set; }
}

其次,您在 MSDN 上看到的 html 参数是 MVC 中任何 Html 助手的必需参数。您不必为此值传递任何内容, View 引擎会为您完成此操作。因此,在您看来,您将使用以下内容来获取您在模型上设置的显示名称。

<h2>@Html.DisplayNameForModel()</h2>

现在,您的结果应该输出您在 html 中设置的显示名称属性。 *注意登录文本上方的测试 View 模型

enter image description here

关于c# - 如何使用 DisplayNameForModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29022459/

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