1

我在 MVC 4 项目中使用数据注释和 Scaffolding Nuget 来创建 CRUD 视图。我使用的是层级数据库模型而不是 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分别在实际视图模型中使用,因此它们不匹配。

更新

另一种可能性(我很确定这就是您的情况)是因为您在视图中的模型类型定义为接口类型而不是类类型。

在您看来,替换@model IBrObject@model UserProfile.

希望这可以帮助

于 2012-09-25T20:30:30.753 回答
0

对象 AspUserName != 字符串 AspUserName

于 2012-09-25T20:34:27.700 回答