作为Asp.NET 程序猿,我们经常会遇到客户端HTML 元素与 WebPage Server端控件互操作的情景。如果没有很好的掌握两种技术的细节就很容易发生一些“莫名其妙的错误”。
我最近犯的一个错误就是在将服务器控件的Visible属性赋值为False后,在客户端用Jquery 选择器获取 服务端控件生成的 HTML元素,在几次调试没有得到预期效果后,我利用IE F12开发工具->DOM资源管理器发现DOM中并不存在这个元素。在MSDN上查看Visible定义发现。当其属性值设置为False后,IIS在响应客户端WebPage请求时并不会生成对应的页面元素。
知其然更要知其所以然,现将CSS样式属性display的具体定义,陈列如下以备温故知新。
浏览器支持
所有主流浏览器都支持 display 属性。
定义和用法
display 属性规定元素应该生成的框的类型。
可能的值
值描述
none
此元素不会被显示。
block
此元素将显示为块级元素,此元素前后会带有换行符。
inline
默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block
行内块元素。(CSS2.1 新增的值)
浏览器支持
所有主流浏览器都支持 visibility 属性。
定义和用法
visibility 属性规定元素是否可见。
提示:即使不可见的元素也会占据页面上的空间。请使用 "display" 属性来创建不占据页面空间的不可见元素。
说明
这个属性指定是否显示一个元素生成的元素框。这意味着元素仍占据其本来的空间,不过可以完全不可见。值 collapse 在表中用于从表布局中删除列或行。
可能的值
值描述
visible
默认值。元素是可见的。
hidden
元素是不可见的。
collapse
当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,
会呈现为 "hidden"。
inherit
规定应该从父元素继承 visibility 属性的值。
原文:http://www.cnblogs.com/prac/p/asp-net_visible_display.html