我有一个模特
class Address {
public int AddressID {get;set;}
public string Street {get;set;}
public string City {get;set;}
public string State {get;set;}
public int ZipCode {get;set;}
}
在我看来,当我有
时 @Html.LabelFor(model => model.Address)
(假设Address是另一个模型中的复杂属性)
我为每个Address属性都得到一个标签,所以我得到:
AddressID:
街道:
城市:
州:
邮编:
问题是,我不希望ID属性出现,我尝试了这两个注释:
[Display(AutoGenerateField = false)]
[HiddenInput(DisplayValue = false)]
但第一个由于某种原因没有做任何事情,并且HiddenInput不断变为红色波浪线,不确定它们是否都使用相同的System.ComponentModel.DataAnnotations
程序集
答案 0 :(得分:12)
实际上找到了答案..
[HiddenInput(DisplayValue = false)]
有效,但我必须添加:
using System.Web.Mvc;
答案 1 :(得分:1)
至于我,当我使用时
[HiddenInput(DisplayValue = false)]
到我的模型道具我仍然在schaffolded创建/编辑视图中显示。当我刚刚从视图中删除该代码时 - 是的,它已不再可见,但在保存编辑后我又遇到了另一个问题:删除编辑器的道具将其值更改为null
。
我在编辑视图上使用它来修复它
@Html.HiddenFor(model => model.ImageUrl)
答案 2 :(得分:0)
这不是应该拒绝脚手架在生成的视图上显示字段吗?
[ScaffoldColumn(false)]