繁体   English   中英

如何在aspx页面中隐藏ASP.NET自定义控件的属性?

[英]How to hide property of ASP.NET custom control in aspx page?

我正在编写ASP.NET自定义控件,我希望它有一些属性,这些属性只能在运行时从代码中看到 - 我的意思是,这些属性在设计器和aspx代码中都不应该是可见的包含此控件的页面。 我试过使用以下属性:

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

但不幸的是,在编辑aspx页面时,这个属性在Intellisense组合框中仍然可见。 是否可以在服务器端代码之外的任何地方隐藏此属性?

这应该做的伎俩:

//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 { ... }

Amiir的答案肯定有效,但我想补充说,有时甚至在应用属性后,Intellisense仍会显示属性。 这是Visual Studio缓存Intellisense文件的结果。 如果在不同的计算机上构建相同的项目,则不会显示属性。 如果这确实让您感到烦恼,可以通过删除文件夹“C:\\ Documents and Settings \\ [YOUR_USER_NAME] \\ Application Data \\ Microsoft \\ VisualStudio \\ 10.0 \\ ReflectedSchemas”中的所有文件来清除缓存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM