§ ITPOW >> 文档 >> ASP.NET >> AJAX

TabContainer 中 TabPanel 的 Visible 与 Enabled-区别

作者:vkvi 来源:ITPOW(原创) 日期:2009-3-18

TabContainer 是 ASP.NET AJAX Control Toolkit 中的一个标签控件,它有一些标签,称之为 TabPanel,这些 TabPanel 有 Visible 和 Enabled 属性。

如果按字面意义上来理解 Visible 决定标签显示与否,Enabled 决定标签是否可用(即是否是灰的)。但实际上不是的,在这里 Enabled 和 Visible 的效果是一样的。它们的异同如下:

  • 不能对在客户端已经激活的标签(内容区显示出来的那个标签)设置 Visibled 或 Enabled 为 false。
  • Visibled 为 false 的标签不计入 TabContainer 的总标签数;Enabled 为 false 的标签要计入 TabContainer 的总标签数。也就是说,如果一个 TabContainer 的所有标签的 Visibled 均为 false,则它的标签数为 0。
  • 如果程序中设置了一个标签的 Visibled 为 false,又用 ActiveTabIndex 去激活它,则仍然不会显示该标签;如果程序中设置了一个标签的 Enabled 为 false,又用 ActiveTabIndex 去激活它,则会显示该标签,该标签中的控件的是灰色不可点击的。
  • 一些控件,尤其是 AJAX 控件,在 TabPanel 的 Visible 值变化时,会造成 ViewState 丢失。Enabled 则不会。这点较为重要。

相关文章