【问题标题】:EditorForModel displays inherited properties lastEditorForModel 最后显示继承的属性
【发布时间】:2017-05-08 18:15:27
【问题描述】:

我正在编写一个包含部件列表的 ASP.NET MVC Web 应用程序。因此,我创建了一个类层次结构。我遇到的问题是使用Html.EditorForModel() 在我希望它们首先显示时最后显示继承的基类的属性。

这是我正在做的一个例子:

Part.cs

public class Part
{
    [Key]
    [HiddenInput(DiplayValue = false)]
    public Nullable<int> ID { get; set; }

    [Required]
    public int Price { get; set; }

    [Required]
    public string Brand { get; set; }
}

Screw.cs

public class Screw : Part
{
    public int Length { get; set; }
    public int Width { get; set; }
}

然后,当我在视图中调用 Html.EditorForModel 时,这是字段显示的顺序:

  • 长度
  • 宽度
  • 价格
  • 品牌

但我希望它按以下顺序显示:

  • 价格
  • 品牌
  • 长度
  • 宽度

我尝试指定[Column(Order = #)] 属性,但这并没有改变任何东西。除了为每个部分创建 EditorTemplate 之外,我将如何执行此操作?

【问题讨论】:

    标签: c# asp.net asp.net-core-mvc editorformodel


    【解决方案1】:

    使用Display属性设置顺序:

    [Display(Order = 2)]
    public int Id { get; set; }
    
    [Display(Order = 1)]
    public string Name { get; set; }
    

    【讨论】:

      猜你喜欢
      • 2021-10-06
      • 1970-01-01
      • 2019-03-09
      • 2014-02-03
      • 1970-01-01
      • 2013-06-24
      • 2012-05-08
      • 2019-02-16
      • 2012-10-29
      相关资源
      最近更新 更多