Asp.net-Mvc

數據註釋隱藏屬性/欄位

  • May 21, 2021

我有一個模型

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 是另一個模型中的複雜屬性)

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

地址編號:

街道:

城市:

狀態:

郵政編碼:

問題是,我不想顯示 ID 屬性,我嘗試了這兩個註釋:

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

但是第一個由於某種原因沒有做任何事情,並且 HiddenInput 不斷得到一條紅色波浪線,不確定它們是否都使用相同的System.ComponentModel.DataAnnotations程序集

剛剛找到答案實際上..

[HiddenInput(DisplayValue = false)]有效,但我必須補充:

using System.Web.Mvc;

至於我,當我習慣了

[HiddenInput(DisplayValue = false)]

對於我的模型道具,我仍然在腳手架的創建/編輯視圖中顯示。當我剛剛從視圖中刪除該程式碼時 - 是的,它不再可見,但是在保存編輯後我遇到了另一個問題:我刪除編輯器的道具將它們的值更改為null. 我在編輯視圖上使用它來修復它

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

引用自:https://stackoverflow.com/questions/26162340