Почему <ScaffoldColumn (False)> не работает? - PullRequest
3 голосов
/ 02 октября 2011

Насколько я понимаю, добавив аннотацию ScaffoldColumn (false) к свойству в классе, это свойство не будет добавлено к представлению при выполнении добавления представления. Однако даже если я добавил scaffoldcolumn false к свойствам, которые я не хочу добавлять в форму создания, они все равно отображаются в представлении создания. ScaffoldColumn сломан? На странице 552 в Pro ASP.NET MVC 3 Framework Фримена и Сандерсона говорится:

"Если мы хотим исключить свойство из сгенерированного HTML, мы можем использовать Атрибут ScaffoldColumn. Когда помощники лесов видят Атрибут ScaffoldColumn, они пропускают свойство полностью; нет Будут сгенерированы скрытые элементы ввода, и никакие детали этого свойство будет включено в сгенерированный HTML. "

Также в MVC Music Store PDF на стр. 77 указано, что атрибут будет делать то же самое -

«Позволяет скрывать поля из форм редактора».

Они добавляют его в свойство AlbumId, и затем при запуске приложения поле AlbumId не отображается в браузере.

Этот атрибут нарушен?

Если я изменю html-помощник на DisplayFor, он не появится в форме независимо от наличия столбца scaffold. Например, у меня нет свойства scaffoldcolumn false в свойстве PostTitle, но если я изменю @Html.EditorFor(Function(model) model.PostTitle) на displayfor, он не будет отображаться независимо от атрибута scaffoldcolumn.

Кроме того, мое представление «Создать» строго набрано @ModelType RiderDesignMvcBlog.Core.Entities.Post

1 Ответ

2 голосов
/ 04 октября 2011

Получил этот ответ на форумах asp.net:

Это утверждение неверно.Атрибут распознается динамическими данными, но не MVC 3 Scaffolding.Когда я спросил об этом в марте этого года, я получил ответ от команды, которая создала пакет Nuget MvcScafolding:

Да, этот конкретный фрагмент метаданных просто не распознается шаблонами MvcScaffolding T4.Существует много возможных метаданных, и много кода, необходимого для распознавания и реагирования на все это, и мы должны поменять это на то, чтобы шаблоны T4 были достаточно простыми, чтобы люди могли понимать и настраивать их, а не быть перегруженными всей логикой,Я не думаю, что встроенные шаблоны Add View MVC 3 также реагируют на это.

...