2017-05-08 56 views
1

我正在編寫一個包含零件清單的ASP.NET MVC Web應用程序。正因爲如此,我創建了一個類層次結構。我遇到的問題是使用Html.EditorForModel()顯示最後顯示繼承基類的屬性,當我希望它們首先顯示時。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之外,我會如何去做這件事?

回答

2

使用Display屬性設置順序:

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

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