Как скрыть свойство ASP.NET пользовательского элемента управления на странице aspx? - PullRequest
7 голосов
/ 08 февраля 2010

Я пишу пользовательский элемент управления ASP.NET, и я хочу, чтобы он имел несколько свойств, которые должны быть видны только из кода позади во время выполнения. aspx-код страницы, содержащей этот элемент управления. Я пытался использовать следующие атрибуты:

[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] <br /> [Browsable(false)] <br/> public List<Item> SomeData { ... }

но, к сожалению, это свойство все еще отображается в выпадающем списке Intellisense при редактировании страницы aspx. Можно ли скрыть это свойство везде, кроме серверного кода?

Ответы [ 2 ]

12 голосов
/ 22 ноября 2010

Это должно сработать:

//Hide from Designer Property Grid
[Browsable(false)]
// Hide from VS.NET Code Editor IntelliSense
[EditorBrowsable(EditorBrowsableState.Never)]
// Not Serialized in Designer Source code "HTML view"
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public List<Item> SomeData { ... }
2 голосов
/ 03 марта 2011

Ответ Амира определенно работает, но я хотел бы добавить, что иногда даже после применения атрибутов Intellisense по-прежнему отображает свойства. Это результат кеширования Visual Studio файлов Intellisense. Если вы создадите один и тот же проект на другом компьютере, он не будет отображать свойства. Если это действительно вас беспокоит, вы можете очистить кеш, удалив все файлы в папке «C: \ Documents and Settings \ [YOUR_USER_NAME] \ Application Data \ Microsoft \ VisualStudio \ 10.0 \ ReflectedSchemas.»

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...