- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试将其用作 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 模型。
关于c# - 如何使用 DisplayNameForModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29022459/
我尝试将其用作 View 的 header ,但它返回一个空字符串。在 Razor 布局中,我有类似的东西: @model IEnumerable @Html.DisplayNameForModel(
我是一名优秀的程序员,十分优秀!