gpt4 book ai didi

c# - 父对象相同属性的自定义显示名称

转载 作者:太空宇宙 更新时间:2023-11-03 12:52:10 25 4
gpt4 key购买 nike

我有一个模型类,它具有相同类型的属性(以创建层次结构):

public class OrganizationalChart : Model
{
public Guid? ParentId { set; get; }
public virtual OrganizationalChart Parent { set; get; }
public string Name { set; get; }
}

在我的 Razor View 文件中:

@Html.DisplayFor(modelItem => item.Name)
@Html.DisplayFor(modelItem => item.Parent.Name)

这两行显然都打印了 Name。当我使用 [Display(Name="Role Name")] 时情况相同。

我想要的功能是能够为当前对象的 Name 属性和父对象的 Name 属性设置不同的显示名称。

有没有办法不使用自定义 HTML 标签来做到这一点?

最佳答案

没有。无法覆盖子实例上的显示名称。但是,根据您的用例,可能会有选项。例如,如果您正在使用 Html.LabelFor,它会接受一个允许您指定标签文本的参数:

@Html.LabelFor(modelItem => item.Name)
@Html.LabelFor(modelItem => item.Parent.Name, "Parent Name")

Html.DisplayNameFor 在此上下文中使用没有意义,因为它所做的只是输出一个简单的字符串(显示名称)。因此,没有任何“自定义 HTML”;你可以硬编码你想要的名字。 Html.DisplayFor 根本不显示属性名称,所以我不确定您对此有何期待。

关于c# - 父对象相同属性的自定义显示名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35156739/

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