7

我在我的 ASP.NET MVC 4.0 应用程序中使用实体框架,我想知道如何防止或隐藏我的实体中的字段在我的强类型视图中生成?现在,我不想要的视图上正在生成几个主键字段和时间戳字段。

我知道将属性设置internal为与public作品相反,但我不确定这将产生的总体下游影响。我更喜欢在属性上使用数据注释,但我尝试过的那些可以防止控制器脚手架或将它们作为隐藏字段。我更喜欢它们保持公开状态,但只是不在强类型视图中生成。

编辑:

要生成强类型视图,请在 Visual Studio 中添加一个新的“视图”,并在对话框中选择该视图建模的类。这反过来将创建一个视图,其中包含由类的属性表示的所有控件。例如LastName创建一个字段如下:

@Html.EditorFor(model => model.FirstName)
4

3 回答 3

23

回答问题

属性

[ScaffoldColumn(false)]

或者

[Display(AutoGenerateField=false)]

在不需要的属性将阻止设计人员为这些属性生成脚手架字段之前。

于 2012-08-14T14:02:54.973 回答
7

要通过数据注释从 UI 中隐藏属性,请使用

 [ScaffoldColumn(false)] 

并且它们将被编辑器模板忽略。

于 2012-08-14T14:32:10.300 回答
4

您应该使用仅包含所需属性的单独 ViewModel 类。

于 2012-08-14T12:59:34.390 回答