HiddenInput (DisplayValue = false)] vs [ScaffoldColumn (false)]
Что такое Exaclty ScaffoldColumn(false) и HiddenInput(DisplayValue = false)?
И в чем основное отличие этих двух? Какой из них лучше всего использовать?
Спасибо!!!
Ответ 1
[ScaffoldColumn(false)] сообщает Visual Studio, чтобы не создавать столбец при создании шаблона для вашего представления. Когда вы создаете новое представление, вы можете создать строго типизированное представление. Когда вы это сделаете, Visual Studio спросит вас, какой шаблон использовать (Create, Edit, List и т.д.). Если вы создаете шаблон "Редактировать/Создать"; например, если вы поместите [ScaffoldColumn(false)] в свой объект модели, то он просто не будет генерировать вызов DisplayFor() или EditorFor() в шаблоне, поэтому он не будет включен в ваше представление.
[HiddenInput] сообщит методам DisplayFor/EditorFor, что он должен создать скрытое html-поле для этого значения. Когда вы отправляете сообщение в форму, оно будет включено в значения, но оно будет "скрыто" из представления, когда люди будут смотреть на него.