2014-10-02 89 views
4

我有一個模型數據註解隱藏屬性/字段

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)(假設地址是另一個模型內部複雜屬性)

我得到一個標籤爲每一個地址屬性,所以我得到:

AddressID:

街道:

市:

國家:

郵編:

的問題是,我不希望的ID屬性展現出來,我想這兩個註解:

[Display(AutoGenerateField = false)] 
[HiddenInput(DisplayValue = false)] 

但是第一個出於某種原因沒有做任何事情,而且HiddenInput一直得到一條紅色的波浪線,不知道它們是否都使用相同的System.ComponentModel.DataAnnotations級組裝

回答

11

才發現其實答案..

[HiddenInput(DisplayValue = false)]的作品,但我不得不添加:

using System.Web.Mvc; 
0

至於我,當我使用

[HiddenInput(DisplayValue = false)] 

我模型道具我仍然在schaffolded創建/編輯視圖中顯示。當我剛剛從視圖中刪除該代碼時 - 是的,它不再可見,但在保存編輯之後,我又遇到了另一個問題:刪除編輯器的道具將其值更改爲null。 我使用編輯視圖來修復它

@Html.HiddenFor(model => model.ImageUrl)