在VS2010中生成MVC 2视图时未检测到ScaffoldColumn(false)

时间:2010-07-16 14:28:35

标签: c# asp.net-mvc-2

如果我正确理解[ScaffoldColumn(false)]属性,我应该可以用这个装饰一个变量然后,当我创建一个强类型的编辑视图时,该字段将显示为隐藏文本而不是标签/文本框对。

我正在使用实体框架,然后添加一个内部元数据类的部分类,如下所示:

[MetadataType(typeof(AlumniInterest_Metadata))]
public partial class AlumniInterest
{
    private class AlumniInterest_Metadata
    {

        [ScaffoldColumn(false)]
        [DisplayName("Person Id")]
        [StringLength(8)]
        public object person_id { get; set; }

        [DisplayName("Interest")]
        [StringLength(35)]
        public string interest_desc { get; set; }
    }
}

这部分与EF生成的类位于同一名称空间中,并且拾取了DisplayName属性,因此我认为事情是正确连接的。我尝试将类型从字符串更改为对象(基于一些谷歌搜索结果),但没有做任何事情。

其他人遇到这个问题?我有新的错误吗?

2 个答案:

答案 0 :(得分:2)

MVC工具没有推理ScaffoldColumnAttribute。只有在您调用Html.DisplayForModelHtml.EditorForModel方法时才会使用此属性。

如果您希望“添加视图”对话框支持ScaffoldColumnAttribute,则可以编辑用于生成视图的T4模板文件。

答案 1 :(得分:2)

[ScaffoldColumn(false)]似乎无法正常工作。您需要设置

 Html.HiddenFor(model => model.person_id)
在您的视图中手动