Asp.NET Visible属性与HTML display:none

     

  作为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 属性的值。

注:以上关于 display 与 visiblity知识均摘于http://www.w3school.com.cn/css/index.asp 

       当谈论display 和 visibility 属性时,顺便提及disabled属性,当我们想要“禁用”一个元素,直到符合某个条件时,就可以设置元素的disabled=“disabled”;当符合条件后通过   .removeAttr("disabled") 解除元素的禁用状态。

注释:disabled 属性无法与 <input type="hidden"> 一起使用。

原文地址:https://www.cnblogs.com/prac/p/asp-net_visible_display.html