在运行时设置ScaffoldColumn(false)
本文关键字:false ScaffoldColumn 运行时 设置 | 更新日期: 2023-09-27 17:57:35
我正在使用@Html.EditorFor(model => model.MyModel)
,我想在模型中添加或设置Id属性作为隐藏字段。这可以通过使用ScaffoldColumnAttribute
在代码中完成,但我希望在运行时完成。有可能吗?
假设这是您想要的,您可以使用@Html.HiddenFor(s=>s....)
如果您想要在调用EditorFor(m => m.MyModel)
时隐藏MyModel
实体的ID
字段,那么您可以使用EditorTemplate
。
在Views/Shared
文件夹中,创建一个名为EditorTemplates
的新文件夹。在该文件夹中创建一个名为MyModel.cshtml
的新视图,其内容如下:
@model ***.MyModel
@if (Model != null) {
@Html.HiddenFor(m => m.ID)
}
@Html.LabelFor(m => m.Property1);
@Html.EditorFor(m => m.Property1);
对模型存在性的测试是为了处理Create
视图。
最后,为了处理DisplayFor
案例,您还必须为此添加一个模板,名为Views/Shared/DisplayTemplates/MyModel.cshtml