asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了asp.net – MVC 4数据注释“显示”属性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我开始与MVC 4(Razor视图引擎)。 (我相信这可能适用于MVC 3和更早版本。)我想知道是否有任何好处,使用DisplayAttribute数据注释在视图内,而只是直接在HTML中写入一个字符串。例如,如果我有以下模型:
public class Thing
{
    public String WildAndCrazyProperty { get; set; }
}

…将有任何好处,注释属性为:

[Display(Name = "Wild and Crazy")]
    public String WildAndCrazyProperty { get; set; }

…和我的标记是:

<html>
    <body>
        <div>@Html.DisplayNameFor(modelItem => modelItem.WildAndCrazyProperty)</div>
        <div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
    </body>
</html>

…与没有注释,并做:

<html>
    <body>
        <div>Wild and Crazy</div>
        <div>@Html.DisplayFor(modelItem => modelItem.WildAndCrazyProperty)</div>
    </body>
</html>

在这种情况下,我没有提到Html.LabelFor的原因是因为属性的数据在页面上显示为静态(即不可编辑)文本。数据永远不会在此网页上进行编辑,因此我无需在第二个< div>中使用Html.TextBoxFor。并随后使用Html.LabelFor将标签与该文本框正确关联。

解决方法

如果两个不同的视图共享相同的模型(例如,也许一个是移动输出和一个是常规的),它可能很高兴有字符串驻留在一个地方:作为ViewModel上的元数据。

此外,如果您有一个继承版本的模型,需要一个不同的显示,它可能是有用的。例如:

public class BaseViewModel
{
 [Display(Name = "Basic Name")]
 public virtual String Name { get; set; }
}

public class OtherViewModel : BaseViewModel
{
 [Display(Name = "Customized Inherited Name")]
 public override String Name { get; set; }
}

我承认这个例子是很有意思的…

这些是支持使用我可以想出的属性的最好的论据。我个人的意见是,在大多数情况下,这种事情最好留给标记。

大佬总结

以上是大佬教程为你收集整理的asp.net – MVC 4数据注释“显示”属性全部内容,希望文章能够帮你解决asp.net – MVC 4数据注释“显示”属性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。