如果我正确理解[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属性,因此我认为事情是正确连接的。我尝试将类型从字符串更改为对象(基于一些谷歌搜索结果),但没有做任何事情。
其他人遇到这个问题?我有新的错误吗?
答案 0 :(得分:2)
MVC工具没有推理ScaffoldColumnAttribute。只有在您调用Html.DisplayForModel
或Html.EditorForModel
方法时才会使用此属性。
如果您希望“添加视图”对话框支持ScaffoldColumnAttribute,则可以编辑用于生成视图的T4模板文件。
答案 1 :(得分:2)
[ScaffoldColumn(false)]似乎无法正常工作。您需要设置
Html.HiddenFor(model => model.person_id)
在您的视图中手动。