3

モデルメタデータのDisplay属性のOrderプロパティに値を設定しました。

[MetadataType(typeof(OccasionMetadata))]
public partial class Occasion
{
    private class OccasionMetadata
    {
        [ScaffoldColumn(false)]
        public object Id { get; set; }

        [Required]
        [Display(Name = "Title", Order = 0)]
        public object Designation { get; set; }

        [Required]
        [DataType(DataType.MultilineText)]
        [Display(Order = 3)]
        public object Summary { get; set; }

        [Required]
        [DataType(DataType.DateTime)]
        [Display(Order = 1)]
        public object Start { get; set; }

        [Required]
        [DataType(DataType.DateTime)]
        [Display(Order = 2)]
        public object Finish { get; set; }
    }
}

DisplayForModelメソッドとEditorForModelメソッドを使用して、強く型付けされたビューでモデルを表示します。

<%= Html.DisplayForModel() %>

<%= Html.EditorForModel() %>

ただし、ASP.NET MVC 2では、フィールドが順不同で表示されます。何が間違っているのでしょうか?

4

2 に答える 2

5

.NET 4 DataAnnotations には、UI での表示に使用される値の指定や ResourceType など、いくつかのプロパティを持つ新しいDisplay 属性が付属しています。残念ながら、この属性は新しく、MVC 2 RTM ではサポートされていません

良いニュースは、MVC Futuresリリースでサポートされ、現在利用可能であることです。

これを機能させるための手順を以下に示します...

Raj Kaimal による ModelMetadataを使用した ASP.NET MVC 2 のローカリゼーションから

于 2010-05-14T22:39:07.023 に答える
0

Brad Wilson は 2009 年 11 月に次のように述べています。

There are no support for order in MVC 2, and it's not there with it until MVC 3. 主な理由の 1 つは、.NET 4 の DataAnnotations が順序付けサポートを追加したことですが、3.5 に依存しているため、まだそれを行うことができません。

「ASP.NET MVC 2 テンプレート、パート 5: マスター ページ テンプレート」のコメントから

于 2010-06-08T16:53:18.447 に答える