1

CRUD ビューを作成するために、Scaffolding Nuget を使用して MVC 4 プロジェクトでデータ注釈を使用しています。EF ではなく、レイヤー レベルのデータベース モデルを使用しています。

したがって、私のクラスは次のようになります。

[MetadataType(typeof(CustomerMetaData))] 
public partial class UserProfile: IBrObject
{
     public UserProfile(string aspUserName): this()
        {
            this.AspUserName = aspUserName;
        }

     public string AspUserName { get; set; }
     public DateTime MetaDateFirstSaved { get; set; }
}

public class CustomerMetaData
{
            [ReadOnly(true)]             
            [ScaffoldColumn(false)]
            [DisplayName("ASP UserName")]
            public object AspUserName { get; set; }
           [DisplayName("Date First Saved")]
           [DataType(DataType.Date)]
            public object MetaDateFirstSaved { get; set; }
}

Scaffolding Nuget でビューを作成しようとすると、AspUserName 列が非表示または読み取り専用ではないことが表示されます。非表示または読み取り専用にするにはどうすればよいですか?

4

2 に答える 2

1

objectメタデータと実際のビューモデルstringDateTimeそれぞれ使用するため、一致しません。

アップデート

もう1つの可能性(これがあなたのケースで起こっていることだと確信しています)は、ビューのモデル型がクラス型ではなくインターフェイス型として定義されているためです。

@model IBrObjectビューで。に置き換えます@model UserProfile

お役に立てれば

于 2012-09-25T20:30:30.753 に答える
0

オブジェクト AspUserName != 文字列 AspUserName

于 2012-09-25T20:34:27.700 に答える