1

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

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

部件.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; }
}

螺丝.cs

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

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

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

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

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

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

4

1 回答 1

2

使用Display属性设置顺序:

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

[Display(Order = 1)]
public string Name { get; set; }
于 2017-05-08T18:24:31.893 回答